Próbuję użyć pidof lub pgrep, aby móc wysłać HUP do procesu w moim systemie. Problem polega na tym, że chcę zabić proces tylko z precyzyjnym parametrem.
To jest wynik działania „ps awx”
657 ? S 0:00 processname software
658 ? S 0:00 processname demo
659 ? S 0:00 processname test
Wykonując jedną z tych czynności:
pidof processname
pgrep processname
Otrzymasz listę wszystkich procesów zaczynających się od nazwy procesu, ale chciałbym zrobić coś takiego:
pidof processname test
pgrep processname test
Aby pobrać tylko PID, którego potrzebuję (w tym przykładzie byłoby 659)
AKTUALIZACJA
Używając flagi -f na pgrep robi to, co chciałem, wykonując:
pgrep -f "processname test"
Otrzymasz właściwą odpowiedź.
bash
command-line-interface
process
konsekwencje
źródło
źródło
-f
ponieważ chcesz dopasować w pełnym wierszu polecenia. Zauważ, że pgrep działa na wyrażeniach regularnych, więc możesz również wykonywać stosunkowo złożone dopasowanie.Odpowiedzi:
źródło