Wie kann ich alle Prozesse beenden, die von meinem eigenen Nicht-Root-Konto ausgeführt werden?
Ich habe einige spinnende smbd Prozesse, die ich von meinem Windows-Computer verursachte und so telnetted ich in den Linux-Server und ich möchte diese spinnenden Prozesse beenden. Ich habe keine Berechtigung zum Neustarten von Diensten oder zum Neustarten des Computers.
kill -15 -1
und nur weitermachen,kill -9 -1
wenn es hartnäckige Prozesse gibt und ich weiß, was ich tue . Das zufällige Beenden von Prozessen, die sich möglicherweise mitten in einer Datenbanktransaktion befinden, sollte nicht so beiläufig erfolgen, wie Sie es vorschlagen.firefox-bin
.killall firefox
undkillall firefox-bin
sehen , was funktioniert. Ich stimme Ihrem ersten Kommentar zu.Verwenden Sie
sudo kill <pid>
odersudo killall <process-name>
quelle
Versuchen wir etwas mehr:
Der
top
Befehl ist die herkömmliche Methode, um die Ressourcennutzung Ihres Systems und die Prozesse anzuzeigen, die die meisten Systemressourcen beanspruchen. Top zeigt eine Liste der Prozesse an, wobei die Prozesse mit der höchsten CPU-Auslastung oben angezeigt werden.htop
zeigt dieselben Informationen mit einem einfacheren Layout an. Sie können damit auch Prozesse mit den Pfeiltasten auswählen und Aktionen wie das Beenden oder Ändern der Priorität mit den FTasten ausführen .quelle
Sie können verwenden
Wenn Sie nach firefox suchen
ps -ax | grep firefox
, geben Sie terminal like ein , es zeigt die Prozess-ID der entsprechenden Anwendung. Sie können diese Anwendung perkill
Befehl stoppen, wenn Prozess-ID = 1317,quelle
Ich würde verwenden
xkill
. Geben Siexkill
in ein Terminal ein und klicken Sie in das Fenster, oder geben Siexkill
die Prozess-ID ein und es wird beendet.Erfahren Sie mehr über
xkill
auf x.org.quelle
username
Führen Sie Folgendes aus, um zu versuchen, alle Prozesse eines Benutzers zu beenden:quelle
Ich würde Ihr Problem in zwei Teile aufteilen:
1) Wie finde ich die von mir gestarteten Prozesse? Führen Sie Folgendes aus:
Dies
whoami
ist nur für den Fall, dass Sie den Namen des verwendeten Kontos nicht kennen, andernfalls geben Sie einfach den Namen des Kontos ohne die Anführungszeichen ein.Daraufhin werden alle Prozesse aufgelistet, die von Ihrem Konto gelöscht werden können.
2) Der
ps
Befehl listet die Prozessnummer, TTY, Zeit und CMD auf. Die Prozess-ID ist die erste Spalte. Verwenden Sie diese Nummer, um den Vorgang abzubrechen. Seien Sie vorsichtig, während Sie den Prozess beenden. Sie könnten etwas kaputt machen, wenn Sie den falschen Prozess beenden. Um einen Prozess abzubrechen, verwenden Sie denkill
Befehl, der ein SIGNAL an den Prozess sendet. Das Signal zeigt an, was der Prozess sollte tun. Wenn Sie beispielsweise ein-1
an den Prozess senden , werden Sie aufgefordert, die Konfigurationsdatei neu zu laden. Das Senden von a-2
entspricht dem Drücken von Strg + C bei diesem Vorgang.-9
führt dazu, dass der Kernel den Prozess abbricht, ohne ihn dem Prozess mitzuteilen.Angenommen, ps -u hat so
whoami
etwas wie zurückgegebenUnd Sie wollten den
firefox
Prozess anhand seiner Prozess-ID beenden, dann würden Sie Folgendes tun:Anschließend führen Sie denselben
ps
Befehl erneut aus und prüfen, ob der Prozess noch ausgeführt wird. Wenn es noch läuft, dann mache aarbeiten Sie sich bis zu
-9
.Geben Sie ein, um alle von Ihrem Konto gestarteten Prozesse abzubrechen
kill <level> -1
. Gleich wie zuvor: Arbeiten Sie sich nach oben-9
.Wenn Sie den Namen des Prozesses kennen, können Sie einfach dorthin gehen
killall <processname>
, wo Sie ihn zu töten versuchen. Zum Beispiel:killall fish
(Fisch ist in diesem Sinne die Friendly Interactive SHell).Dokumentation für
killall
finden Sie hier: http://manpages.ubuntu.com/manpages/hardy/man1/killall.1.htmlquelle
Mit dieser Anwendung können Sie Programmlisten anzeigen
Installieren Sie htop
siehe Prozess und Kill-Prozess Sie können es installieren und einfach löschen
quelle
... Alle Prozesse in Linux reagieren auf Signale. Mit Signalen können Programme auf Betriebssystemebene angewiesen werden, ihr Verhalten zu beenden oder zu ändern.
So senden Sie Prozesssignale per PID
Am häufigsten werden Signale mit dem Befehl kill an ein Programm übergeben.
Wie zu erwarten ist, besteht die Standardfunktionalität dieses Dienstprogramms darin, zu versuchen, einen Prozess abzubrechen:
Dadurch wird das TERM-Signal an den Prozess gesendet. Das TERM-Signal weist den Prozess an, den Vorgang zu beenden. Auf diese Weise kann das Programm Bereinigungsvorgänge ausführen und reibungslos beenden.
Wenn sich das Programm schlecht verhält und das TERM-Signal nicht ausgegeben wird, können wir das Signal durch Übergabe des KILL-Signals eskalieren:
Dies ist ein spezielles Signal, das nicht an das Programm gesendet wird.
Stattdessen wird es dem Betriebssystemkern übergeben, der den Prozess herunterfährt. Hiermit werden Programme umgangen, die die an sie gesendeten Signale ignorieren ...
quelle
Ich habe ein kleines Skript geschrieben, das ich geschrieben habe, um (in meinem Fall) Skype zu töten:
Aber ich fand, dass so viel wie das dann funktionierte, es am nächsten Tag nicht funktionierte, weil das pid eine andere Länge hatte und dort für die Menge der Räume unterschiedlich war
Dann bin ich auf diese Seite gestoßen und habe es versucht
die bequem Prozesse im Format ausgibt
Also habe ich meinen Code im Skript folgendermaßen angepasst:
Das bedeutet, dass alle Prozesse
justin
ausgeführt werden (die in einen beliebigen Benutzernamen geändert werden können), zugrep
denen gesucht wirdskype
(dies kann in Ihren Prozess geändert werden), und dann die Leitung weitergeleitet werden, zucut
der dann nur die PID gelesen und letztendlich verwendet wird PID imkill
Befehl, um es zu töten.quelle
-l
und rennenpgrep -u justin skype
und töten können:pkill -u justin skype
(oderpkill -KILL -u justin skype
SIGKILL senden).Hier ist ein einfaches Python-Skript, killProcess.py, das alles als Eingabe akzeptiert und das beendet.
Ich habe dieses Skript geschrieben, weil ich viele Python- oder Knotenprozesse habe, die ich einzeln und programmgesteuert beenden möchte. Ich kann "killall python" nicht verwenden, weil es die Prozesse stoppt, die ich brauche, um weiter zu laufen.
Benennen Sie die Datei "killProcess.py" und fügen Sie den Namen des Skripts hinzu, das Sie stoppen möchten. Beispiel: python killProcess.py runnablePoller.py beendet die Datei runnablePoller.py
quelle
Ich habe folgende Prozedur verwendet, um einen Prozess in Ubuntu zu beenden:
Schritt 1: Holen Sie sich die PID des Prozesses mit grep oder verwenden Sie -C auch:
oder
oder
oder
Schritt 2: Notieren Sie die PID-Nummer.
Schritt 3: Verwenden Sie den Befehl 'kill' zusammen mit der PID-Nummer als:
quelle
Ctrl+ Alt+ DeleteKann so eingestellt werden Sie den Task - Manager zugreifen zu geben, von wo es leicht Prozesse mit ein paar Mausklicks zu töten, und für mich, weniger Bedarf für Befehle zu erinnern , dass , wenn falsch gemacht schädlich sein könnte:
http://ubuntuhandbook.org/index.php/2013/07/use-ctrl-alt-del-task-manager-ubuntu/
https://www.itsmarttricks.com/a-guide-to-kill-pkill-and-killall-commands-to-stop-the-process-in-linux-kill-process-linux/
quelle