Zabij wszystkie zadania za pomocą PID powyżej określonej liczby całkowitej za pomocą bash


1

Jak mogę pobrać i zabić wszystkie procesy z PID powyżej np. 1000?

Używanie poleceń takich jak ps -Ai topjest w porządku do przeglądania listy procesów, ale w jaki sposób można uzyskać tylko PID?

Logika porównywania liczb i zabijania zadań nie jest tak naprawdę problemem. Chodzi o to, aby jaśniej opisać, co chcę osiągnąć.

Odpowiedzi:


1
ps | tr -s ' ' | cut -d ' ' -f 2

da ci listę PID. cutbierze drugie pole danych wyjściowych oddzielone spacjami, ale wcześniej używamy trdo wyciskania wielu spacji. Następnie możesz to przepuścić

egrep '\d{4}\d*'

aby wybrać wszystkie liczby powyżej 1000. Wtedy prawdopodobnie możesz wysłać go do xarg w celu zabicia.

1000 jest łatwe, ale dla dowolnej liczby, takiej jak 32768, może być konieczne użycie czegoś takiego jak seddo filtrowania.


1

Możesz użyć tego polecenia:

ps -ef | grep "twój_proces" | awk '{print 2 USD}' | grep -v 'grep' | xargs zabija

Uwaga: „Twój_proces” będzie Twoim „PID”

W przeciwnym razie:

ps -ef | grep "twój_proces" | awk '{print 2 USD}' | xargs zabija

warto spróbować


Myślę, że źle zrozumiałeś pytanie. Wskazanie konkretnego procesu nie jest tym, czego potrzeba w tym scenariuszu. Konkretnie, pożądanym rezultatem jest pobranie PID wszystkich uruchomionych procesów.
Aleksander Azizi
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.