使用monit监视shell脚本

时间:2015-06-19 03:17:42

标签: java bash shell monit

我有一个shell脚本,它生成一个java进程,我希望将其包装在一个包装器中以便与monit一起使用。

我已经尝试了

的monit推荐
wrapper.sh /usr/sbin/cmd start

我在$$

中使用它

当我这样做的时候,我看到2个进行了旋转。一个是包装器中的exec,另一个是我的java进程。

但是,/usr/sbin/cmd的pid是/ usr / sbin包装器的pid而不是实际的java进程的pid。所以,如果我"停止"服务或杀死那个pid,然后java进程被孤立。

另一方面,如果我在前台运行void** const arr然后杀死它,它会杀死子进程。

1 个答案:

答案 0 :(得分:2)

在运行命令之前无法获取pid,但可以使用$!。另外,我建议你使用nohup。像

这样的东西
nohup $1 > /var/log/$name.stdout 2>&1 &
echo $! > /var/run/service.pid