Witam,
wie ktoś może jak za pomocą skryptu pobrać PID jakiegoś procesu (nr. TOP) i później go np zatrzymać poleceniem kill? Próbuję to zrobić i nie mam już pomysłów. Z góry dziękuję za pomoc.
Trochę więcej założeń jest potrzebnych. Zasadniczo polecenie ps (np. ps -ef) trzeba wrzucić potokiem na polecenie grep, wyszukać co potrzeba, znowu wrzucić na potok i wydrukować (np. przy pomocy awk) nr procesu.
np.:
ps -ef|grep WZORZEC|awk '{ print $2 }'
a żeby użyć kill:
kill -15 `ps -ef|grep WZORZEC|awk '{ print $2 }'`
To oczywiście tylko propozycja, można to zrealizować na wiele sposobów (chociażby cut zamiast awk lub wyszukiwać WZORZEC bezpośrednio przez awk lub też zastosować inną postać komendy ps itd.)
Polecenie "pidof" poda ci id szukanego procesu. Dla przykładu pidof top
wyświetli pid aktywnego procesu top
Jak chcesz za jednym zamachem uśmiercić taki proces to kill -15 $(pidof top)
Jest jeszcze polecenie killall - chyba najprościej:
$ killall WZORZEC
np:
$ kilall opera
lub
$ killall -15 opera
Zacznijmy od właściwej strony końca kija. Do czego Ci to potrzebne?