为什么我的bash脚本执行另一个脚本不能退出?

问题描述:

我正在从我的bash脚本中调用另一个脚本,就像 - 用&符号。为什么我的bash脚本执行另一个脚本不能退出?

OtherScriptThatDoesNotExit & 
echo "done" 

我看到它变得“完成”,但我仍然看到我的原始脚本运行是ps。任何想法,为什么这可能是? (注意,我在Puppy Linux上运行)

该脚本仍在等待您产生的子流程。使用nohup,disownscreen在后台留下长时间运行的任务并返回到您的shell。

+0

此外,如果您*需要等待脚本完成,您可以使用'等待'暂停执行,直到所有作业完成。 – 2013-03-13 01:25:23

+0

因此,我只是在OtherScriptThatDoesNotExit之后调用不在线?或者有什么区别? – 2013-03-13 01:50:02

+0

是的,虽然'nohup'对于脚本的使用更适合。 'nohup'会将输出重定向到一个文件,使用'disown'它会消失 – slezica 2013-03-13 03:18:43