Python命令后台运行

Published on with 0 views and 0 comments

Python命令后台运行

nohup python -u test.py > test.txt 2>&1 & 
nohup

no hang up 的缩写,就是不挂断的意思。在命令行使用nohup --help

Run COMMAND, ignoring hangup signals.:运行命令,忽略挂起信号

就是不挂断的运行,注意没有后台运行功能。

就是指,用nohup运行命令可以使命令永久的执行下去,和用户终端没有关系,例如我们断开SSH连接都不会影响他的运行,注意了nohup没有后台运行的意思;&才是后台运行

&

是指在后台运行,但当用户推出(挂起)的时候,命令自动也跟着退出

那么,我们可以巧妙的吧他们结合起来用就是

nohup COMMAND &

-u

代表程序不启用缓存,也就是把输出直接放到log中,没这个参数的话,log文件的生成会有延迟

> test.txt

将输出日志保存到这个文件中

2>1

2与>结合代表错误重定向,而1则代表错误重定向到一个文件1,而不代表标准输出;

2>&1

换成2>&1,&与1结合就代表标准输出了,就变成错误重定向到标准输出.

*命令运行后会有提示,示例:

[1] 2880

代表进程2880中运行。

配合常用命令行:

jobs -l:查看后台运行任务

ctrl+z:任务暂停

ctrl+c:任务退出

fg:将后台任务,调到前台运行

bg:任务继续

kill:任务退出

说你懂得生之微末,我便做了这壮大与你看,你说再热闹也终需离散,我便做了这一辈子与你看,你说冷暖自知,我便做了这冬花夏雪与你看,你说恋恋旧日好时光,我便做了这描金绣凤的浮世绘与你看。你说应愁高处不胜寒,我便拱手河山,讨你欢。