Para ver quais processos estão sendo executados em uma máquina, você pode usar ps
. Este é um comando com um grande número de opções, então você pode querer dar uma olhada em man ps
para aprender um pouco sobre isso.
Para verificar se alguém está executando watch
, você faria:
$ ps aux | grep -w watch
terdon 15915 0.0 0.0 15912 2676 pts/4 S+ 15:58 0:00 watch ls
terdon 16123 0.0 0.0 13948 2264 pts/5 S+ 15:58 0:00 grep --color -w watch
O -w
informa grep
para corresponder apenas palavras inteiras. Caso contrário, processos como watchdog
também seriam listados. No entanto, isso também retorna o próprio processo do grep. Para evitar isso, você pode usar pgrep
:
$ pgrep -xl watch
15915 watch
O -x
procura apenas correspondências exatas e o -l
também lista o nome do processo e não apenas seu PID.
Agora, se você quiser verificar os dois MyOwnCommand
e watch
, poderá fazer:
$ pgrep MyOwnCommand >/dev/null && pgrep -xl watch
15915 watch
O &&
significa que o segundo pgrep
será executado somente se o primeiro for bem-sucedido, se MyOwnCommand
estiver em execução. O >/dev/null
descarta a saída do primeiro pgrep
.