2011-04-30 8 views

답변

1

내 기억 초기화 스크립트는 sh 쉘로 작성되었습니다. 많은 쉘 스크립트는 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 경우 | ". $ 서비스 실행" 이 \t \t \t \t 에코 다음 \t \t [1 -gt "'PS 도끼 그렙 -ci 'CanaryMod.jar''"] \t \t else \t \t \t \t echo "$ SERVICE is not running." \t \t fi – Mlynch1985

+0

실수로 grep에 "-c"매개 변수를 놓쳤습니다. 명령 주위에있는 틱을 잊지 마십시오. – sosc