后台运行程序

一、nohup命令

无日志
nohup python t_rollback.py > /dev/null 2>&1 &

有日志
nohup ./abc.sh > abc.out &

二、screen命令

1、安装

yum install screen

2、使用

screen -R name

ctrl+a+d  退出程序

screen -r name 查看程序

三、supervisor进程后台守护

1、安装

rpm -qa|grep epel-release >&/dev/null ||yum install -y epel-release
rpm -qa|grep supervisor >&/dev/null ||yum install -y supervisor

2、启动

supervisord -c /etc/supervisord.conf

3、案例

[program:SipDataToHive_V2]
command=/usr/local/bin/python3 /dist/SipDataToHive_V2/data_to_hive/sip_data_to_hive_v2.py
directory=/dist/SipDataToHive_V2/
user=hadoop
stdout_logfile=/dist/SipDataToHive_V2/data_to_hive/log/siptohive_suer.log
stdout_logfile_backups=5
stdout_logfile_maxbytes=100MB
startsecs=3
startretries=50
nodaemon=true

4、命令使用

supervisorctl update ##更新新的配置到supervisord
supervisorctl reload                              ##重新启动配置中的所有程序
supervisorctl start program_name        ##启动某个进程(program_name=你配置中写的程序名称)
pervisorctl stop program_name            ##停止某一进程 (program_name=你配置中写的程序名称)
supervisorctl restart program_name     ##重启某一进程 (program_name=你配置中写的程序名称)
supervisorctl stop all                             ##停止全部进程

四、pm2守护

1、安装

npm install pm2 -g

2、使用

pm2 start app.js;//启动项目
pm2 start app.js --watch;//启动项目并监听变化重启

pm2 list        ;//获取进程列表,每个列表都有id
pm2 monit    ;//查看所有进程详情

pm2 stop     ;//后面跟'id|name|all|json|stdin';
pm2 stop --watch 0   ;//停止监听0
pm2 restart    ;//后面跟'id|name|all|json|stdin' ;
pm2 delete      ;//后面跟'name|id|script|all|json|stdin';

原文地址:https://www.cnblogs.com/wangyong-blog/p/11930103.html