2011-04-30 37 views

回答

1

从我的回忆中,init脚本写在sh shell中。许多shell脚本使用一个pid文件(通常在/ var/run中找到)来检查服务是否正在运行。在你的情况下,在ps中找到的进程用于验证。

您正在执行的测试有些不正确,因为ps/grep返回的不是一个数字,而是一组字符或任何内容。请尝试以下操作:

mc_status() { 
     if [ ! -z "`ps ax | grep -ci 'CanaryMod.jar'`" ]; then 
       echo "$SERVICE is running." 
     else 
       echo "$SERVICE is not running." 
     fi 
} 
+0

谢谢sosc,我最终根据您的建议使用了以下内容。 mc_status(){ \t \t如果| “$服务正在运行”[ “的'ps斧grep的-ci“CanaryMod.jar''” -gt 1] \t \t然后 \t \t \t \t回波 \t \t else \t \t \t \t echo“$ SERVICE is not running。” \t \t fi } – Mlynch1985 2011-05-01 00:21:02

+0

我的错误我错过了你的“-c”参数来grep ...不要忘记你的命令周围的抽搐 – sosc 2011-05-01 00:25:15