Ubuntu Server init.d - тестирование, если значение больше 1 - PullRequest
0 голосов
/ 01 мая 2011

Я пишу сценарий init.d и пытаюсь проверить, является ли возвращаемое значение больше 1. Какой будет правильный синтаксис для «больше чем»?

mc_status() {
        if ps ax | grep -ci 'CanaryMod.jar' > 0
        then
                echo "$SERVICE is running."
        else
                echo "$SERVICE is not running."
        fi
}

1 Ответ

1 голос
/ 01 мая 2011

Из моих воспоминаний сценарии инициализации написаны в оболочке 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
}
...