树莓派配置 supervisor守护进程
1.安装 supervisor
sudo apt install supervisor
默认会开机启动
2.应用配置
supervisor 管理应用的进程,需要对每个应用进行配置。在 /etc/supervisor/conf.d 中创建 xxx.conf,每个应用对应一个配置文件即可。
例:
创建文件
sudo nano helloworld.conf
在窗口中添加
[program:helloworld] ;程序的名称
command = /root/www/HelloWorld ;执行的命令
directory = /root/www/ ;命令执行的目录
user = root ;执行进程的用户
stopsignal = INT
autostart = true ;是否自动启动
autorestart = true ;是否自动重启
startsecs = 1 ;自动重启间隔
stderr_logfile = /var/log/helloworld.err.log ;标准错误日志
stdout_logfile = /var/log/helloworld.out.log ;标准输出日志
保存,退出。
注意:文件中的每个分号之前必须有空格,不然会报错
supervisor: couldn’t chdir to /root/www/;: ENOENT
supervisor: child process was not spawnedp
重启 supervisor
supervisorctl reload
或热重启,不会重启其他子进程
supervisorctl reread
supervisorctl update
为确保没有错误,可以正常启动,使用前文提到的查看supervisor状态的命令查看。或者查看要管理的进程是否启动,本例中可以使用下面的命令:
ps -ef | grep HelloWorld
3.常用命令
关闭所有任务
supervisorctl shutdown
启动或关闭某个应用
supervisorctl stop|start program_name
查看所有任务状态
supervisorctl status