站点图标 GIS开发者

centos后台运行程序nohup

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

命令格式

nohup xx &


2>&1的问题

command >out.file 2>&1 &


command >out.file是将command的输出重定向到out.file文件,即输出内容不打印到屏幕上,而是输出到out.file文件中。 2>&1 是将标准出错重定向到标准输出,这里的标准输出已经重定向到了out.file文件,即将标准出错也输出到out.file文件中。最后一个& , 是让该命令在后台执行

试想2>1代表什么,2与>结合代表错误重定向,而1则代表错误重定向到一个文件1,而不代表标准输出;
换成2>&1,&与1结合就代表标准输出了,就变成错误重定向到标准输出.

不输出文件

nohup java FileTest > /dev/null 2>&1 &

输出文件

nohup java FileTest > test.log 2>&1 

含义解释


nohup  不挂起的意思
python  p.py   python运行p.py文件

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

> p.log  将输出日志保存到这个log中

2>1        2与>结合代表错误重定向,而1则代表错误重定向到一个文件1,而不代表标准输出; 
2>&1     换成2>&1,&与1结合就代表标准输出了,就变成错误重定向到标准输出.

&         最后一个& ,代表该命令在后台执行

*查看nohub命令下运行的所有后台进程:
jobs

*查看后台运行的所有进程:
ps -aux

*查看后台运行的所有python 进程:
ps aux |grep python
或者
ps -ef | grep python

 *删除进程
kill -9  [进程id]

-9  的意思是强制删除

退出移动版