Estou tentando determinar o número de processos em execução por meio da seguinte linha de comando:
ps aux | grep -c 'Xvfb :1'
Quando o processo "fiji: 1" não está em execução, às vezes recebo um valor 0 e outras vezes um valor de 1. O ato de executar o comando grep parece ser contado às vezes e outras vezes não.
A execução da linha de comando abaixo fornece consistentemente zero processos:
ps aux | grep 'fiji :1' | grep -v grep
Similar a adicionar o grep -v grep
, existe uma maneira de fazer com que "grep -c" conte o número de processos rodando menos o comando grep?
ps aux | grep Xvfb
dá isto:
60293 17250 0.0 0.1 45052 7016 pts/4 S Sep30 0:02 Xvfb :4 -screen 0 1600x1200x16
60293 17373 0.0 0.0 40704 2964 pts/0 S Sep30 0:02 Xvfb :5 -screen 0 800x600x16
60293 29695 0.0 0.1 42996 6112 pts/6 S 13:00 0:00 Xvfb :3 -screen 0 1600x1200x16
60293 31650 0.0 0.0 61160 756 pts/6 R+ 13:58 0:00 grep Xvfb
pgrep 'Xvfb :3' | wc -l
não funciona muito porque retorna 0 quando realmente há um processo em execução.
pgrep 'Xvfb' | wc -l
retorna 3, o que está correto.
Eu também tentei pgrep 'Xvfb :3 -screen 0 1600x1200x16' | wc -l
e ele retornou incorretamente 0.
Parece que pgrep
não gosta do espaço em Xvfb :3
?