Chad Harrison Asked: 2012-06-27 12:30:28 +0800 CST2012-06-27 12:30:28 +0800 CST 2012-06-27 12:30:28 +0800 CST 与号 (&) 符号对 `nohup` 意味着什么? 772 我见过很多例子,其中 a&跟在命令字符串的末尾,但我似乎找不到关于它的作用的解释。它甚至不在nohup的man页面中。这是贝壳的东西吗? 无论是否使用&,我发现任何运行的进程nohup似乎都对任何挂断信号表现出免疫力。 nohup 3 个回答 Voted Best Answer mgorven 2012-06-27T12:42:31+08:002012-06-27T12:42:31+08:00 从bash 联机帮助页: 如果命令由控制运算符 & 终止,则 shell 会在子 shell 的后台执行该命令。shell 不等待命令完成,返回状态为 0。 所以是的,它是一个 shell 东西,可以与任何命令一起使用。它实际上立即将控制权返回给您,并允许命令在后台完成。这几乎总是与 with 一起使用,nohup因为您通常希望在启动命令后退出 shell。 Michel 2013-07-10T07:30:21+08:002013-07-10T07:30:21+08:00 使用与符号 (&) 将在子进程(当前 bash 会话的子进程)中运行命令。但是,当您退出会话时,所有子进程都将被杀死。 使用 nohup + 符号 (&) 将做同样的事情,除了当会话结束时,子进程的父进程将更改为“1”,即“init”进程,从而防止子进程被杀死。 rob 2012-06-27T12:41:47+08:002012-06-27T12:41:47+08:00 是的,它是一个 shell 东西——它在后台运行命令,因此您不必等待当前命令返回再发出更多命令。
从bash 联机帮助页:
所以是的,它是一个 shell 东西,可以与任何命令一起使用。它实际上立即将控制权返回给您,并允许命令在后台完成。这几乎总是与 with 一起使用,
nohup
因为您通常希望在启动命令后退出 shell。使用与符号 (&) 将在子进程(当前 bash 会话的子进程)中运行命令。但是,当您退出会话时,所有子进程都将被杀死。
使用 nohup + 符号 (&) 将做同样的事情,除了当会话结束时,子进程的父进程将更改为“1”,即“init”进程,从而防止子进程被杀死。
是的,它是一个 shell 东西——它在后台运行命令,因此您不必等待当前命令返回再发出更多命令。