从脚本调用的后台进程在结束后死亡
Background process called from script, dies after it ends
Cygwin 上发生了一些奇怪的事情。
我 运行 一个将一些进程置于后台的脚本。然而剧本一结束,他们就都死了。
简单的例子,拿这个脚本来说:
tail -f logfile.log &
我可以看到 tail 工作(它打印最后的 X 行)但是一旦脚本结束进程就不再在后台了。
在 Linux 它表现不同,知道为什么吗?
我会在 linux 上尝试 nohup *cmd* &
。但是您需要考虑传递给 child 的文件描述符。所以 nohup *cmd* </dev/null >/dev/null 2>&1 &
但是 tail -f
输出会去哪里呢?当您退出 shell 时 window 会关闭吗?然后你不能退出shell如果你想看到输出。
Cygwin 上发生了一些奇怪的事情。 我 运行 一个将一些进程置于后台的脚本。然而剧本一结束,他们就都死了。
简单的例子,拿这个脚本来说:
tail -f logfile.log &
我可以看到 tail 工作(它打印最后的 X 行)但是一旦脚本结束进程就不再在后台了。
在 Linux 它表现不同,知道为什么吗?
我会在 linux 上尝试 nohup *cmd* &
。但是您需要考虑传递给 child 的文件描述符。所以 nohup *cmd* </dev/null >/dev/null 2>&1 &
但是 tail -f
输出会去哪里呢?当您退出 shell 时 window 会关闭吗?然后你不能退出shell如果你想看到输出。