1. 区别:
-
nohup:nohup是一个命令,用于在后台运行进程,并且可以禁止该进程受到SIGHUP信号的影响,这样即使退出终端或者关闭SSH连接,进程也会继续运行。
-
&:&是shell的一个特性,用于将命令放入后台运行,但是如果关闭终端或者SSH连接,后台进程会收到SIGHUP信号,可能会被终止。
2. 使用方法:
-
nohup:使用方法为nohup command &,其中command为要运行的命令或脚本。nohup会将命令输出重定向到nohup.out文件中,也可以使用重定向符号来指定输出文件。
-
&:在命令末尾加上&符号即可将该命令放入后台运行。
3. 使用案例:
- 使用nohup来启动一个长时间运行的进程,并且不希望受到SIGHUP信号的影响:
nohup python long_running_script.py &
- 使用&来将一个命令放入后台运行,但是希望在终端关闭后停止该进程:
python long_running_script.py &
总结:nohup用于在后台运行进程并且不受SIGHUP信号影响,适合用于长时间运行的任务;&用于将命令放入后台运行,但是可能会受到SIGHUP信号的影响。根据具体需求选择合适的方式来运行命令。