nohup命令
nohup
命令用法
我们在使用Linux的时候,希望让某个程序在后台运行。在命令的末尾加个&符号后,程序可以在后台运行,但是一旦当前终端关闭(即退出当前帐户),该程序就会停止运行。那假如说我们想要退出当前终端,但又想让程序在后台运行,该如何处理呢?比如我们想讲任务提交到服务器运行,在这种情况下我们就可以使用nohup
命令。
nohup
英文全称 no hang
up(不挂起),用于在系统后台不挂断地运行命令,退出终端不会影响程序的运行。
语法格式
1 | nohup Command [ Arg … ] [ & ] |
Command:要执行的命令。
Arg:一些参数,可以指定输出文件。
&:让命令在后台执行,终端退出后命令仍旧执行。
无论是否将 nohup
命令的输出重定向到终端,输出都将附加到当前目录的
nohup.out
文件中。如果当前目录的 nohup.out
文件不可写,输出重定向到 $HOME/nohup.out
文件中。
可以使用nohup
--help
获得帮助,更多OPTION
如下:
1 | --help |
实例
比如我们想要在后台运行test.py
代码,只需在命令行输入:
1 | nohup python -u test.py & |
如果仅仅如此使用nohup
命令的话,程序的输出会默认重定向到一个nohup.out
文件下。如果我们想要输出到指定文件,可另外指定输出文件:
1 | nohup .python -u test.py > myout.txt |
这样一来,把标准输出/错误重定向到指定目录下。
当我们想关闭nohup进程时,需要用top
找到进程对应的pid
,然后使用kill
命令,关闭该进程。
1 | kill -9 PID |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 TerryLee's Blog!
评论