如何查找特定shell命令的状态(阻塞或非阻塞)?

时间:2012-12-03 09:11:27

标签: concurrency pthreads blocking nonblocking

例如,如果我使用来自c程序的system()命令来调用shell命令是否它将完成shell命令然后它将继续执行程序或者它将同时执行两个

有哪些可用于查找此信息的方法?

1 个答案:

答案 0 :(得分:1)

您可以使用fork()exec()进行非阻止,但system()来电正在阻止。这意味着它会在恢复执行C程序之前等待shell命令完成。

请注意,如果您希望立即返回,则可以发出system命令,其背后有&,您的C程序将同时运行。

顺序示例: system("long_script.sh");

并发示例: system("long_script.sh &");