c - POSIX system(3) 对异步 shell 命令的调用会立即返回吗?

标签 c linux posix-api

例如,system("sh/mydir/some-script.sh &")

最佳答案

system("sh /mydir/some-script.sh &")

执行

/bin/sh -c 'sh /mydir/some-script.sh &'

system 将在外壳返回后立即返回,这将在它启动内壳后立即返回。两个 shell 都不会等待 some-script.sh 完成。

$ cat some-script.sh
sleep 1
echo foo

$ /bin/sh -c 'sh some-script.sh &' ; echo bar ; sleep 2
bar
foo

关于c - POSIX system(3) 对异步 shell 命令的调用会立即返回吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5666962/

相关文章:

c - Linux 上的线程程序(Posix Thread)

c - 在没有这个标志的系统上模拟 O_NOFOLLOW 的好方法是什么?

c++ - 如何在 Linux 的 C 中使 poll() 立即退出?

c - 使用 C 套接字的接口(interface)上的环回数据包

c - 反转字符串的库函数

c++ - 测试串口应用

c - 如何编写一个抛出 glibc 的自定义 free?

linux - 为什么重定向 + 管道 ( 2>&1 |) 合并两个流而不是将 stderr 移动到 stdout?

Linux中的Python子进程在文件存在时找不到文件

html - 如何从终端运行 html 文件?