Monit失去bash变量?

时间:2012-08-23 09:09:44

标签: bash monit

尝试使用monit来监视我们编写的自定义守护程序,它只是不使用bash stop / start脚本。如果我从命令行手动运行停止/启动脚本,它每次都完美地工作100%。如果它通过monit执行,则变量为空。从我遇到问题的脚本中提取:

GETPID=$(ps aux | grep unicorn | grep master | cut -d" " -f7)
echo "getPID : $GETPID"                                             
echo $GETPID > $PIDFILE

当使用monit执行此变量时,$GETPID变量为空。手工完美。

有人有什么想法吗?

2 个答案:

答案 0 :(得分:0)

一般来说,解析psls的输出不是一个好主意。

您可以在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安装中独角兽的路径。