尝试使用monit来监视我们编写的自定义守护程序,它只是不使用bash stop / start脚本。如果我从命令行手动运行停止/启动脚本,它每次都完美地工作100%。如果它通过monit执行,则变量为空。从我遇到问题的脚本中提取:
GETPID=$(ps aux | grep unicorn | grep master | cut -d" " -f7)
echo "getPID : $GETPID"
echo $GETPID > $PIDFILE
当使用monit执行此变量时,$GETPID
变量为空。手工完美。
有人有什么想法吗?
答案 0 :(得分:0)
一般来说,解析ps
或ls
的输出不是一个好主意。
您可以在pgrep
文件系统上使用find
编写一个简单的proc
:
# find /proc/ -maxdepth 2 -type l -name exe -lname '/bin/bash' -printf '%h\n' 2>/dev/null | sed 's/.*\///'
3580
3595
9504
9869
10054
10156
10193
# pgrep bash
3580
3595
9504
9869
10054
10156
10193
答案 1 :(得分:0)
感谢您的帮助。问题是rvm安装中独角兽的路径。