Я написал bash - script, чтобы проверить, запущен ли процесс. Это не работает, так как команда ps всегда возвращает код выхода 1. Когда я запускаю команду ps из командной строки, $? правильно установлен, но внутри script он всегда 1. Любая идея?
#!/bin/bash
SERVICE=$1
ps -a | grep -v grep | grep $1 > /dev/null
result=$?
echo "exit code: ${result}"
if [ "${result}" -eq "0" ] ; then
echo "`date`: $SERVICE service running, everything is fine"
else
echo "`date`: $SERVICE is not running"
fi
Bash версия: GNU bash, версия 3.2.25 (1) -release (x86_64-redhat-linux-gnu)