linux后台执行命令&和nohup的具体使用方法

linux后台执行命令&和nohup的具体使用方法

运行python脚本后台执行

1. nohup

使用&命令后,作业被提交到后台运行,当前控制台没有被占用,但是一但把当前控制台关掉(退出帐户时),作业就会停止运行。nohup命令可以在你退出帐户之后继续运行相应的进程。nohup就是不挂起的意思( no hang up)。该命令的一般形式为:

nohup command &

如果使用nohup命令提交作业,那么在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中,除非另外指定了输出文件:

nohup command > myout. file 2>&1 &
2. 后台运行 python 程序并记录

在Linux中,可以使用nohup将脚本放置后台运行,如下:

nohup python myscript.py params1 > nohup.out 2>&1 & 

但直接使用上面代码,无法在程序运行过程中查看Python中的print "computing" 输出结果,比如在每次循环中使用print语句等。原因是python的输出有缓冲,导致nohup.out不能够马上看到输出。

解决方法:

  • 使用-u参数,使得python不启用缓冲。

修改命令如下:

nohup python -u myscript.py params1 > nohup.out 2>&1 & 
3. nohup 同时实现记录日志和屏幕输出

先使用以下命令开启程序后台运行:

nohup command > myout.file 2>&1 &

再使用如下命令跟踪文件内容的最后 10行

 tail -F myout.file

参考:

linux后台执行命令&和nohup的具体使用方法

运行python脚本后台执行

nohup 同时实现记录日志和屏幕输出

你可能感兴趣的:(Linux,Python,linux,bash,运维)