Usiłuję sprawdzić, czy proces (zakładając, że się nazywa some_process
) jest uruchomiony na serwerze. Jeśli tak, to echo 1, w przeciwnym razie echo 0.
To polecenie, którego używam, ale działa tylko częściowo (więcej informacji poniżej). Zauważ, że muszę napisać skrypt w jednym wierszu.
ps aux | grep some_proces[s] > /tmp/test.txt && if [ $? -eq 0 ]; then echo 1; else echo 0; fi
Uwaga:[s]
w some_proces[s]
to, aby zapobiec grep
powrotowi się.
Jeśli some_process
jest uruchomiony, wyświetla "1"
się echo, co jest w porządku. Jeśli jednak some_process
nie działa, nic się nie odbija.
ps -Ccmd
do znalezienia procesów, których nazwa polecenia to „cmd”, co może całkowicie wyeliminowaćgrep
.ps
ustawi kod wyjścia na pewną niezerową wartość, jeśli nie uda się znaleźć pasującego procesu.