我看到了大量的例子,其中一个&跟随命令字符串的结尾,但我似乎找不到它的解释。它甚至不在nohup的S man页面上。这是壳的东西吗?
无论是否使用&,我发现与nohup一起运行的任何进程似乎对任何挂起信号都具有免疫力。
发布于 2012-06-26 20:42:31
来自巴什手册:
如果一个命令被控制操作符终止&,shell将在子shell的后台执行该命令。shell不等待命令完成,返回状态为0。
所以,是的,它是一个shell,可以与任何命令一起使用。它实际上是立即将控制返回给您,并允许命令在后台完成。这几乎总是与nohup一起使用,因为您通常希望在启动命令后退出shell。
发布于 2013-07-09 15:30:21
使用ampersand (&)将在子进程中运行该命令(子进程到当前bash会话)。但是,当您退出会话时,所有子进程都将被终止。
使用nohup + ampersand (&)将执行相同的操作,但当会话结束时,子进程的父进程将更改为"1“,即"init”进程,从而避免子进程被杀死。
发布于 2012-06-26 20:41:47
是的,这是shell的问题--它在后台运行命令,这样您就不必等到当前命令返回后再发出更多命令。
https://serverfault.com/questions/402496
复制相似问题