如何解决后台子进程 (ls &)
我正在使用 C 制作我自己的 shell,如果我在命令的末尾使用 &
,那么它将在后台运行..所以为了让它在后台运行,我不使用 { {1}} 在父级中。
当我不使用 wait()
时,我的代码会像这样运行
&
在为下一个命令输入用户输入之前,我在哪里打印 -->ls
File1.c file2.c file.txt
-->
。
但如果我在最后使用 -->
,我刚刚用 ls 尝试了这个
我的代码是这样运行的:
&
我不知道为什么在这种情况下 -->ls &
-->File1.c file2.c file.txt
符号没有打印在下一行.. ls 是否有执行速度快的问题或代码问题??
当使用 -->
时,我希望输出看起来像这样
&
解决方法
虽然我既没有看到您的代码,也没有看到您使用的平台,但似乎根据在后台或前台运行的不同,进程的调度顺序不同。
如果要同步进程,可以建立某种进程间通信或使用确定性调度程序。后者无疑是一种矫枉过正且不可行的做法。
我建议等待进程结束或使用 pipes。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。