centos 系统 用 supervisor 管理java程序

先安装, 安装步骤不讲, 忘记了。 

supervisor 是一个C/S 的管理工具, 所以要先启动 supervisord , 这个是服务端 。  

sudo supervisord

-----------------------------

然后, 打开 /etc/supervisord.conf 文件 ,  在 supervisorctl 这个section  之后加入要管理的程序名称,路径等。 

[program:csl.collector.1]
command=/var/modules/collector/hkg.csl-collector1/run.sh      ; the program (relative uses PATH, can take args)
directory=/var/modules/collector/hkg.csl-collector1              ; directory to cwd to before exec (def no cwd)
user=userA                                             ; setuid to this UNIX account to run the program
stopasgroup=true

因为改了 conf 文件, 所以还要执行

sudo supervisorctl reread
sudo supervisorctl update

-----------------------------

对于 run.sh , 首先要给执行权限 

chomd +x run.sh

内容开头不要忘了加上  shebang , 否则会引起这个错误

couldn't exec /var/application/start_tester: ENOEXEC

run.sh的全文是 

#!/bin/bash  

exec java -jar collector-0.0.1-SNAPSHOT.jar hkg.csl

-----------------------------

最后执行客户端 supervisorctl 

sudo supervisorctl 

在 supervisorctl 环境下 ,执行

restart csl.collector.1

如果没正常启动, 可以在 supervisorctl 环境下用这个命令看启动日志

tail csl.collector.1 stdout
原文地址:https://www.cnblogs.com/lthxk-yl/p/8515159.html