Kri*_*aps 22
Nohup 使程序忽略 HUP 信号,允许它在当前终端关闭/用户注销后运行。Nohup 不会将程序发送到后台。
命令末尾的 & 与 shell 作业控制有关,允许用户在当前 shell 会话中继续工作。
通常 nohup 和 & 结合起来启动程序,该程序在用户注销后运行,并允许在当前 shell 会话中继续工作。
Cak*_*mox 13
通常,&当我想在后台运行一个不需要很长时间运行的命令时,我会使用一个命令,或者如果我意外退出会话,我不会真正关心程序是否终止。
xcalc &
rdesktop 1.2.3.4 &
./this_only_takes_a_few_seconds_but_i_want_my_shell_back.py &
Run Code Online (Sandbox Code Playgroud)
当通过 VPN 或狡猾的远程连接工作时,我倾向于nohup用于运行任何需要一段时间才能运行的东西。例如,在远程主机上运行大型数据导入时,您可能希望使用它nohup来确保断开连接不会让您在重新连接时重新开始。
nohup ./do_data_load.py mydatafile.txt &
Run Code Online (Sandbox Code Playgroud)
当开发人员没有正确地守护服务时,它也会被使用,因此您必须使用nohup它来确保在您注销时它不会被终止。
nohup sillyd &
Run Code Online (Sandbox Code Playgroud)
如果您nohup在运行类似于最后两个示例的程序时碰巧忘记使用,您可以使用内置的 bash 或 zshdisown来达到相同的效果。
$ sillyd &
[1] 12345 # Whoops!
$ disown %1
Run Code Online (Sandbox Code Playgroud)
很少使用nohup没有&,因为如果您已注销,则无法真正重新附加到 nohup 会话。这几乎消除了它对交互式命令的用处。如果您有一个交互式命令想要在会话中保持或避免复杂的断开连接,您可以使用screen. 全副武装和可操作的screen会话的火力超出了本文的范围,因此您应该更详细地查看。
| 归档时间: |
|
| 查看次数: |
5025 次 |
| 最近记录: |