ubuntu使用supervisor设置开机启动程序
参考https://blog.csdn.net/weixin_43656490/article/details/123703499 做了以下配置:
- 安装supervisor
sudo apt-get update
sudo apt-get install supervisor
- 建立启动项目
cd /etc/supervisor/conf.d
sudo vim aiDemo.conf
- 编写我的aiDemo.conf如下:
[program:aiDemo]
command=/home/zhlz/aiDemo2/start.sh
autostart=true
autorestart=true
上述start.sh是一个我已经写好的文件,内容为/home/zhlz/Downloads/jdk-17.0.12/bin/java -jar /home/zhlz/aiDemo2/ai-platform-demo2-0.0.1-SNAPSHOT.jar
,目的是为了启动我部署的一个java项目。该sh文件验证过可以运行。
- 重启supervisor
sudo service supervisor restart
但就是死活跑不起来。通过sudo service supervisor status
查看状态,一直都是exit status 127 not expected,网上查资料说是路径配置错误,推荐使用绝对路径,但我确认过路径没有问题。
后来我不用start.sh了,直接把它的内容替换到aiDemo.conf文件里的command处:
[program:aiDemo]
command=/home/zhlz/Downloads/jdk-17.0.12/bin/java -jar /home/zhlz/aiDemo2/ai-platform-demo2-0.0.1-SNAPSHOT.jar
autostart=true
autorestart=true
重启后发现生效了,通过sudo service supervisor status
看到:
最终版
后面发现还是之前aiDemo.conf文件写的有点小问题(没有带sh命令-_-),也为了解决log文件的路径问题,我把两文件做了一些微调后符合预期了:
aiDemo.conf :
[program:aiDemo]
command=sh /home/zhlz/aiDemo2/start.sh
autostart=true
autorestart=true
start.sh :
cd /home/zhlz/aiDemo2
/home/zhlz/Downloads/jdk-17.0.12/bin/java -jar /home/zhlz/aiDemo2/ai-platform-demo2-0.0.1-SNAPSHOT.jar
关闭服务
可能不是最优的,但是至少目前看来有效,可用来关闭supervisor和指定程序:
通过sudo service supervisor status
拿到指定程序的进程号;
通过sudo systemctl stop supervisor 关闭supervisor服务;
通过kill 进程号 关闭指定程序;
中间还跑过sudo supervisorctl stop myservice 和 sudo supervisorctl stop all 。不知道跟成功有没有关系
原文地址:https://blog.csdn.net/qq_23204557/article/details/140662500
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!