微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

后台子进程 (ls &)

如何解决后台子进程 (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 举报,一经查实,本站将立刻删除。