Todo processo será listado na saída de ps aux
; seja correndo, dormindo, zumbi ou parado.
No entanto, no seu caso, desde que você executou o processo usando sh abc.sh
, sh
é o aplicativo (shell) que está sendo executado e não abc.sh
. Portanto, ps aux
não conterá o processo abc.sh
por causa do qual grep
não poderia resultar em nenhum resultado.
Portanto, a maneira correta de usá-lo é como:
ps aux | grep sh
Isso também pode retornar outro processo em execução, com a string sh
em qualquer lugar na saída de ps aux
.
Você deve observar que o processo estará "em execução" quando a saída de ps aux
tiver STAT
como R
. Se for algo diferente disso, não está sendo executado na instância em que você acionou o comando para verificar os processos em execução. Os diferentes estados do processo podem ser encontrados na página de manual do ps:
D uninterruptible sleep (usually IO)
R running or runnable (on run queue)
S interruptible sleep (waiting for an event to complete)
T stopped, either by a job control signal or because it is being traced
W paging (not valid since the 2.6.xx kernel)
X dead (should never be seen)
Z defunct ("zombie") process, terminated but not reaped by its parent
Você também pode executar o top
comando para verificar se o processo está em execução ou em suspensão e a quantidade de CPU e RAM que está consumindo. (Isso listará novamente seu processo como sh
).
No entanto, se você deseja que seu processo seja listado como abc.sh
, deve ter a primeira linha do script que está executando como:
#!/bin/sh
para que o shell saiba qual aplicativo será usado para executar o script (sh, neste caso, altere-o #!/bin/bash
para bash) e forneça permissões executáveis ao processo usando:
chmod +x /path/to/abc.sh
substituindo /path/to/
pela localização do abc.sh
arquivo e, em seguida, execute abc.sh
usando
/path/to/abc.sh
substituindo novamente /path/to/
pelo local do abc.sh
arquivo.
S+
significa