在centos7上使用systemd启动supervisor
介绍
Systemd
Systemd 是 Linux 系统工具,用来启动守护进程,已成为大多数发行版的标准配置。可以通过 systemctl --version 命令来查看使用的版本
常用命令
# 立即启动一个服务 $ sudo systemctl start apache.service # 立即停止一个服务 $ sudo systemctl stop apache.service # 重启一个服务 $ sudo systemctl restart apache.service # 杀死一个服务的所有子进程 $ sudo systemctl kill apache.service # 重新加载一个服务的配置文件 $ sudo systemctl reload apache.service # 重载所有修改过的配置文件 $ sudo systemctl daemon-reload # 显示某个 Unit 的所有底层参数 $ systemctl show httpd.service
Supervisor
Supervisor是是一个用python写的进程管理程序,不仅仅可以用来管理进程,还可以用来做开机启动。它有但不限于以下一些功能:
重启机器后,能够自启动。
平时有个方便的进程查看方式。
能够有个方便的方式重启进程。
配置方法这里就不做记录了,不过要注意,默认的配置文件里面会把一些supervisor生成的重要文件放到 /tmp 目录下面,操作系统可能会把这些文件进行删除,导致 supervisorctl 命令由于找不到这些以前放到 /tmp 的文件而操作不了已经启动的supervisor进程。
方法
为了能够在机器启动之后自动启动supervisor,需要把supervisor进程配置进systemd,
步骤:
- 进入目录 /usr/lib/systemd/system/,增加文件 supervisord.service,来使得机器启动的时候启动supervisor,文件内容
# supervisord service for systemd (CentOS 7.0+) # by ET-CS (https://github.com/ET-CS) [Unit] Description=Supervisor daemon [Service] Type=forking ExecStart=/usr/bin/supervisord -c /etc/supervisord.conf ExecStop=/usr/bin/supervisorctl $OPTIONS shutdown ExecReload=/usr/bin/supervisorctl $OPTIONS reload KillMode=process Restart=on-failure RestartSec=42s [Install] WantedBy=multi-user.target
激活开机启动命令
systemctl enable supervisord.service
启动supervisor进程
systemctl start supervisord.service
关闭supervisor进程
systemctl stop supervisord.service
如果修改了supervisor.service文件,可以通过reload命令来重新加载配置文件
systemctl reload supervisord.service
检查
可以通过 ps 命令可以查看supervisor 是否启动,并且可以查看supervisor管理的进程是否启动。
via。http://www.jianshu.com/p/e1c3e6fbae80
因本文不是用Markdown格式的编辑器书写的,转换的页面可能不符合MIP标准。