¿Por qué usar ps -ef verifique el proceso cada vez que el pid cambie?

2

Utilizo ps -ef para verificar el proceso, pero cada vez que el pid cambie, verá lo siguiente, 1726 - > 1728 - > ...

aircraftdeMacBook-Pro:etc ldl$ ps -ef | grep safira
  501  1726   527   0 10:14上午 ttys000    0:00.00 grep safira
aircraftdeMacBook-Pro:etc ldl$ ps -ef | grep safira
  501  1728   527   0 10:14上午 ttys000    0:00.00 grep safira
aircraftdeMacBook-Pro:etc ldl$ ps -ef | grep safira
  501  2298   527   0 11:18上午 ttys000    0:00.00 grep safira
aircraftdeMacBook-Pro:etc ldl$ ps -ef | grep safira
  501  2301   527   0 11:18上午 ttys000    0:00.00 grep safira
    
pregunta aircraft 26.06.2017 - 05:22

2 respuestas

1

Cada vez que ejecuta esto en la Terminal, se crean dos nuevos procesos para ps y grep , se ejecutan para hacer su trabajo y luego se terminan con éxito. Así que cada invocación obtiene nuevos PIDs.

Para excluir correctamente el proceso grep search_string de grep'ing para search_string en el uso de resultados de ps:

ps -ef | grep -v grep | grep search_string

o

ps -ef | grep [s]earch_string

por ejemplo ps -ef | grep -v grep | grep safira o ps -ef | grep [s]afira

    
respondido por el nohillside 26.06.2017 - 05:59
0

La canalización ps ... | grep ... a menudo se puede reemplazar con pgrep (o pkill ), que a diferencia de la tubería es lo suficientemente inteligente como para no coincidir con ellos mismos:

pgrep safira
    
respondido por el thrig 26.06.2017 - 15:59

Lea otras preguntas en las etiquetas