1. 首页
  2. linux

Linux 后台运行程序+输出、查看日志

平时爬虫的时候都IDLE上有输出,当把脚本放在服务器上时,断开SSH连接就没了,这时候需要使用nohup 命令来实现后台运行程序。

 

nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。nohup就是不挂断的意思( no hang up) 【来自百度百科】

 

tail命令:用于显示指定文件末尾内容

-f 表示 循环读取

 

ps命令:显示进程 【命令详解】

本次使用-ef 功能(e显示所有程序,f显示UID)

 

grep命令:匹配搜索文本【命令详解】

 

举个栗子:

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

其中:

0 – stdin (standard input),1 – stdout (standard output),2 – stderr (standard error)

2>&1 是表示错误和输出一起重定向

test.log  将输出都放进该文件

最后一个&表示在后台运行

使用-u参数,这样将标准输出的结果不经缓存直接输出到日志文件【参考资料:解析python 命令的-u参数】

 

当重新连接终端时,回到test.log的目录下使用命令即可实时查看当前进度:

tail -f test.log

查看当前python脚本程序运行状态:

ps -ef|grep python

结束脚本的运行:

kill [uid]

END

原创文章,作者:Tingwep,如若转载,请注明出处:https://tingwep.cn/linux/id=120

发表评论

邮箱地址不会被公开。