Po co używać ps -ef sprawdzania procesu za każdym razem, gdy zmieni się pid?

2

Używam ps -efdo sprawdzenia procesu, ale za każdym razem, gdy zmieni się pid, zobaczysz poniżej, 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
samolot
źródło

Odpowiedzi:

1

Za każdym razem, gdy uruchamiasz to w Terminalu , tworzone są dwa nowe procesy dla psi grepuruchamiane, aby wykonać zadanie, a następnie pomyślnie zakończone. Tak więc każde wywołanie otrzymuje nowe PID.


Prawidłowo wyklucza proces SEARCH_STRING grep z grep'ing do SEARCH_STRING w wyniku zastosowania PS

ps -ef | grep -v grep | grep search_string

lub

ps -ef | grep [s]earch_string

np. ps -ef | grep -v grep | grep safiralubps -ef | grep [s]afira

nohillside
źródło
0

ps ... | grep ...Rurociąg często można zastąpić pgrep(lub pkill), który w przeciwieństwie do rurociągu są na tyle mądry nie pasujące do siebie:

pgrep safira
gałązka
źródło
Używam pgrep safira, nic nie dostaje.
samolot
@aircraft i żadne z nich nie ps ... | grep ...udało się tylko niepoprawnie dopasować do siebie.
thrig