【发布时间】:2021-04-30 06:57:48
【问题描述】:
我正在使用 C 制作自己的 shell,如果我在命令末尾使用 &,那么它将在后台运行。所以为了让它在后台运行,我不使用 wait()在父级中。
当我不使用&时,我的代码会这样运行
-->ls
File1.c file2.c file.txt
-->
在为下一个命令获取用户输入之前,我在哪里打印 -->。
但如果我最后使用&,我刚刚用 ls 试过这个
我的代码是这样运行的:
-->ls &
-->File1.c file2.c file.txt
我不知道为什么在这种情况下--> 符号没有打印在下一行。是 ls 执行速度很快还是代码问题??
我希望使用& 时的输出如下所示
-->ls &
File1.c file2.c file.txt
-->
【问题讨论】:
-
-->symbol 确实打印了。然后后台进程打印它的输出。 -
我需要在文件名之后打印
-
后台进程的全部意义在于它们在后台工作,因此它们所做的一切(包括打印)都会被延迟。如果您不希望这样,请不要将进程置于后台。
-
没有源代码我们不能发表有根据的评论。源代码是为了让我们可以看到你的代码实际上在做什么,
标签: c operating-system fork posix