Beenden Sie alle Aufgaben mit PID über einer bestimmten Ganzzahl mit Bash

489
Aleksander Azizi

Wie kann ich alle Prozesse mit einer PID über 1000 abrufen und beenden?

Die Verwendung von Befehlen wie ps -Aund topeignet sich gut zum Anzeigen der Liste der Prozesse, aber wie erhält man nur die PIDs?

Die Logik des Zahlenvergleichs und des Task-Killings ist nicht wirklich ein Problem. Es ist nur in der Frage zu beschreiben, was ich klarer erreichen möchte.

1

2 Antworten auf die Frage

1
BlueBerry - Vignesh4303

Sie können diesen Befehl verwenden:

ps -ef | grep "your_process" | awk '' | grep -v 'grep' | Xargs töten

Hinweis: "Your_process" wäre Ihre "PID".

Else:

ps -ef | grep "your_process" | awk '' | Xargs töten

wäre einen Versuch wert

Ich glaube, Sie haben die Frage falsch verstanden. In diesem Szenario wird nicht auf einen bestimmten Prozess hingewiesen. Um genau zu sein, besteht das gewünschte Ergebnis darin, die PID aller laufenden Prozesse abzurufen. Aleksander Azizi vor 9 Jahren 0
1
Paul Richter
ps | tr -s ' ' | cut -d ' ' -f 2 

erhalten Sie eine Liste der PIDs. cutDas zweite Feld der Ausgabe wird durch Leerzeichen getrennt. Vorher verwenden wir trjedoch mehrere Leerzeichen. Sie können das dann durchleiten

egrep '\d\d*' 

Alle Zahlen über 1000 auswählen. Dann könnten Sie es wahrscheinlich zum Töten an Xarg senden.

1000 ist einfach, aber für eine beliebige Zahl wie 32768 müssen Sie möglicherweise etwas wie sedzum Filtern verwenden.