“nohup”中的与号 (&) 是什么意思?

Cha*_*son 13 nohup

我见过很多例子,其中 a&跟在命令字符串的末尾,但我似乎找不到它的作用的解释。它甚至不在nohupman页面中。这是贝壳吗?

无论使用&与否,我发现运行的任何进程nohup似乎都对任何挂断信号具有免疫力。

mgo*_*ven 23

bash 联机帮助页

如果命令由控制运算符 & 终止,shell 将在子 shell 的后台执行该命令。shell 不等待命令完成,返回状态为 0。

所以是的,它是一个外壳程序,可以与任何命令一起使用。它基本上立即将控制权返回给您,并允许命令在后台完成。这几乎总是与 with 一起使用,nohup因为您通常希望在启动命令后退出 shell。

  • 我看到你最近发布了一堆很好的答案,我的大脑总是将你的用户名翻译成 McGuyver。不知道为什么我觉得有必要告诉你这个。 (4认同)
  • @MDMarra 我会将其视为一种恭维;-) (2认同)
  • @MDMarra 至少你不认为:“McGruber” (2认同)

小智 8

使用与号 (&) 将在子进程(当前 bash 会话的子进程)中运行命令。但是,当您退出会话时,所有子进程都将被终止。

使用 nohup + &符号(&)会做同样的事情,除了当会话结束时,子进程的父进程将更改为“1”,即“init”进程,从而防止子进程被杀死。