0
例如,如果我從ac程序使用system()命令來調用shell命令,它是否會完成shell命令,然後它將繼續執行程序,或者它將同時執行這兩個操作:如何查找特定shell命令的狀態(阻塞或非阻塞)?
什麼是所有有多種方法可以找到這些信息?
例如,如果我從ac程序使用system()命令來調用shell命令,它是否會完成shell命令,然後它將繼續執行程序,或者它將同時執行這兩個操作:如何查找特定shell命令的狀態(阻塞或非阻塞)?
什麼是所有有多種方法可以找到這些信息?
對於非阻塞,您可以使用fork()
或exec()
,但system()
呼叫處於阻塞狀態。這意味着它將等待您的shell命令在恢復執行C程序之前完成。
注意,如果您希望它立即返回,您可以發出system
命令,其後面有&
,並且您的C程序將同時運行。
順序示例: system("long_script.sh");
併發示例: system("long_script.sh &");