【Linux】后台进程管理
2017-12-09 21:00
239 查看
Linux的后台进程运行有好几种方法,例如nohup,screen等,但是,如果是一个服务程序,要可靠地在后台运行,我们就需要把它做成daemon,最好还能监控进程状态,在意外结束时能自动重启。
supervisor就是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。
安装supervisor
Debian / Ubuntu可以直接通过apt安装:
然后,给我们自己开发的应用程序编写一个配置文件,让supervisor来管理它。每个进程的配置文件都可以单独分拆,放在/etc/supervisor/conf.d/目录下,以.conf作为扩展名,例如,app.conf定义了一个gunicorn的进程:
其中,进程app定义在[program:app]中,command是命令,directory是进程的当前目录,user是进程运行的用户身份。
重启supervisor,让配置文件生效,然后运行命令supervisorctl启动进程:
停止进程:
如果要在命令行中使用变量,就需要自己先编写一个shell脚本:
然后,加上x权限,再把command指向该shell脚本即可。
supervisor还有许多选项,默认的autorestart为unexpected(异常退出)。详细参考:http://supervisord.org/
以上内容参考了:https://www.liaoxuefeng.com/article/0013738926914703df5e93589a14c19807f0e285194fe84000
supervisor就是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。
安装supervisor
Debian / Ubuntu可以直接通过apt安装:
# apt-get install supervisor
然后,给我们自己开发的应用程序编写一个配置文件,让supervisor来管理它。每个进程的配置文件都可以单独分拆,放在/etc/supervisor/conf.d/目录下,以.conf作为扩展名,例如,app.conf定义了一个gunicorn的进程:
[program:app] command=/usr/bin/gunicorn -w 1 wsgiapp:application directory=/srv/www user=www-data
其中,进程app定义在[program:app]中,command是命令,directory是进程的当前目录,user是进程运行的用户身份。
重启supervisor,让配置文件生效,然后运行命令supervisorctl启动进程:
# supervisorctl start app
停止进程:
# supervisorctl stop app
如果要在命令行中使用变量,就需要自己先编写一个shell脚本:
#!/bin/sh /usr/bin/gunicorn -w `grep -c ^processor /proc/cpuinfo` wsgiapp:application
然后,加上x权限,再把command指向该shell脚本即可。
supervisor还有许多选项,默认的autorestart为unexpected(异常退出)。详细参考:http://supervisord.org/
以上内容参考了:https://www.liaoxuefeng.com/article/0013738926914703df5e93589a14c19807f0e285194fe84000
相关文章推荐
- 【Linux】后台进程管理
- linux中后台进程管理
- Linux 后台进程管理
- selinux 安全开启与关闭
- Linux 基础命令3
- linux下 为自己编写的程序 添加tab自动补全 功能
- linux常用命令之VMware10中安装CentOS 6.4图文教程
- redhat enterprise linux 6.4 64位系统安装oracle11g,笔记
- 使用 /sys 文件系统访问 Linux 内核
- linux下面常用命令总结
- 2016-7-3 linux学习笔记
- Ubuntu-14.04 安装qemu-kvm调试Linux-3.16.0的内核(一)
- Linux的setup命令启动服务名称和功能
- arm-none-linux-gnueabi-gcc下载
- Linux线程同步:条件变量
- 【Linux】tcpdump 命令详解
- Python执行Linux系统命令的4种方法
- linux命令行变成vi风格!
- epoll + 线程池 回应服务器(Linux) ---可以支持上万个连接