Ubuntu Server init.d - tester si la valeur est supérieure à 1
-
27-10-2019 - |
Question
Je suis en train d'écrire un script init.d et cherche à tester si une valeur retournée est supérieur à 1. Quelle serait la syntaxe correcte pour « supérieure »?
mc_status() {
if ps ax | grep -ci 'CanaryMod.jar' > 0
then
echo "$SERVICE is running."
else
echo "$SERVICE is not running."
fi
}
La solution
D'après mes souvenirs scripts d'initialisation sont écrits dans le shell sh. De nombreux scripts shell utilisent un fichier pid (habituellement dans / var / run) pour vérifier si un service est en cours d'exécution. Dans votre cas, un processus que l'on trouve dans le ps est utilisé pour la validation.
Le test que vous effectuez est quelque peu incorrect, comme ps / grep reviennent pas un numéro, mais un ensemble de caractères ou de rien. Procédez comme suit:
mc_status() {
if [ ! -z "`ps ax | grep -ci 'CanaryMod.jar'`" ]; then
echo "$SERVICE is running."
else
echo "$SERVICE is not running."
fi
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow