Это пример сценария bash, который проверяет наличие какого-либо запущенного процесса (демона или службы) и выполняет определенные действия (перезагрузка, отправка почты), если такой процесс не запущен.
check_process(){
# check the args
if [ "$1" = "" ];
then
return 0
fi
#PROCESS_NUM => get the process number regarding the given thread name
PROCESS_NUM='ps -ef | grep "$1" | grep -v "grep" | wc -l'
# for degbuging...
$PROCESS_NUM
if [ $PROCESS_NUM -eq 1 ];
then
return 1
else
return 0
fi
}
# Check whether the instance of thread exists:
while [ 1 ] ; do
echo 'begin checking...'
check_process "python test_demo.py" # the thread name
CHECK_RET = $?
if [ $CHECK_RET -eq 0 ]; # none exist
then
# do something...
fi
sleep 60
done
Однако это не работает. Я получил "ОШИБКА: вариант мусора". для команды ps
. Что не так с этими скриптами? Спасибо!