Frage Wie kann ich Prozesse in Ubuntu beenden?


Wie kann ich alle Prozesse beenden, die von meinem eigenen Nicht-Root-Konto ausgeführt werden?

Ich habe einige spinning smbd-Prozesse, die ich von meinem Windows-Rechner verursacht habe, und so telnet ich in den Linux-Server und möchte diese Spinning-Prozesse beenden. Ich bin nicht berechtigt, Dienste neu zu starten oder den Rechner neu zu starten.


129
2018-02-16 23:49


Ursprung




Antworten:


Um alle Prozesse zu beenden, für die Sie die Berechtigung zum Töten haben, führen Sie einfach den Befehl aus

kill -15 -1 oder kill -9 -1 abhängig vom gewünschten Verhalten (Verwendung man kill für Details)

Um einen bestimmten Prozess, zB firefox, zu beenden, starte einfach

pkill firefox oder killall firefox abhängig von dem gewünschten Verhalten: Was ist der Unterschied zwischen 'killall' und 'pkill'?

Wenn Sie sehen möchten, welche Prozesse ausgeführt werden, verwenden Sie den Befehl

ps -ef

Wenn Sie alle Prozesse nach Benutzer bob suchen möchten, könnte dies hilfreich sein

pgrep -l -u bob

oder

ps -ef | grep bob

156
2018-02-16 23:58



Ich würde damit anfangen kill -15 -1und gehe nur weiter zu kill -9 -1 wenn es hartnäckige Prozesse gibt und Ich weiß was ich tue. Das zufällige Beenden von Prozessen, die sich in der Mitte einer Datenbanktransaktion befinden, sollte nicht so zufällig erfolgen, wie Sie es vorschlagen. - Simon Richter
Außerdem wird der Prozess von Firefox benannt firefox-bin. - Simon Richter
Nein, du kannst versuchen zu laufen killall firefox und killall firefox-bin und sehen, was funktioniert. Ich stimme deinem ersten Kommentar zu. - ste_kwr
Danke @ste_kwr, arbeitete mit deinen Anweisungen, nach zwei Tagen kämpft ... - Java.beginner
Der Vorteil, PIDs nicht zu benötigen, liegt in Cron-Jobs. Die Verwendung von Namen funktioniert sauber. - SDsolar


Benutzen sudo kill <pid> oder sudo killall <process-name>


46
2018-02-16 23:50



Ich denke nicht, dass dies für diese Frage relevant ist, Sie verwenden Sudo - das OP hat keine solchen Privilegien, wie in der Frage erwähnt. - pl1nk
Das OP hat keine Privilegien, bitte bearbeiten Sie Ihre Antwort oder es wird gelöscht oder in einen Kommentar als "keine Antwort" umgewandelt. - ish
Wenn er keine Privilegien hat, muss er nur töten <pid> oder killall <process-name> Ich habe es einfach in meinem nicht-root-Konto verwendet, ich wäre nicht in der Lage, es zu tun, wenn es nicht für diese Antwort war . - Shailyn Ortiz


Lass uns etwas mehr versuchen:

sudo apt-get install htop 

Das top Befehl ist die traditionelle Methode, um die Ressourcennutzung Ihres Systems anzuzeigen und die Prozesse anzuzeigen, die die meisten Systemressourcen beanspruchen. Top zeigt eine Liste von Prozessen an, wobei diejenigen, die die meisten CPUs verwenden, oben angezeigt werden.

htop zeigt dieselben Informationen mit einem leichter zu verstehenden Layout an. Außerdem können Sie Prozesse mit den Pfeiltasten auswählen und Aktionen ausführen, wie z. B. das Löschen oder Ändern der Priorität mit der Taste F Schlüssel.


19
2018-01-12 04:41



Extrem nützlich. Vielen Dank - W.Dodge


Sie können verwenden

ps -ax | grep application name 

Wenn Sie nach Firefox im Terminal suchen wie ps -ax | grep firefoxEs zeigt die Prozess-ID der entsprechenden Anwendung. Sie können diese Anwendung durch stoppen kill Befehl wenn Prozess-ID = 1317,

kill -9 1317

14
2017-07-22 06:21





ich würde ... benutzen xkill. Eingeben xkill in einem Terminal und klicken Sie in das Fenster, oder geben Sie ein xkill und die Prozess-ID und es wird beendet.

Erfahren Sie mehr über xkill auf x.org. 


12
2017-12-27 21:36



Benutze es in der Frequenz nach dem Pkill und liebe es. +1 - Sergiy Kolodyazhnyy
xkill funktioniert in diesem Fall nicht ... - PythoNic
@PythoNic in welchem ​​Fall ist das? - Alvar
Er möchte einen Nicht-Fenster-Prozess beenden, der auch nicht mit dem X-Server zusammenhängt, wie es mir scheint ... (Wie auch immer, ein gutes Werkzeug.) - PythoNic


Um zu versuchen, alle Prozesse zu beenden, die einem Benutzer gehören username, Lauf:

pkill -U username

7
2018-02-07 02:30





Ich würde dein Problem in zwei Teile zerlegen:

1) Wie finde ich die von mir gestarteten Prozesse? Führe das aus:

ps -u `whoami`

Das whoami Falls Sie den Namen des von Ihnen verwendeten Kontos nicht kennen, geben Sie einfach den Namen des Kontos ohne die Anführungszeichen ein.

Dadurch werden alle Prozesse aufgelistet, die von Ihrem Konto gelöscht werden können.

2) Die ps Der Befehl listet die Prozessnummer, TTY, Time und CMD auf. Die Prozess-ID ist die erste Spalte. Verwenden Sie diese Nummer, um den Prozess zu beenden. Seien Sie vorsichtig, während Sie den Prozess beenden. Sie könnten etwas kaputt machen, wenn Sie den falschen Prozess beenden. Um einen Prozess zu beenden, verwenden Sie die kill Befehl, der ein SIGNAL an den Prozess sendet. Das Signal zeigt an, was der Prozess ist sollte machen. Zum Beispiel Senden eines -1 an den Prozess wird es aufgefordert, die Konfigurationsdatei neu zu laden; Senden eines -2 entspricht dem Drücken von Strg + C bei diesem Vorgang; -9 wird der Kernel den Prozess verlassen, ohne es an den Prozess zu kommunizieren.

Angenommen, dass ps -u whoami etwas zurückgegeben wie

  PID TTY          TIME CMD
 4333 pts/1    00:00:00 fish
 4335 ?        00:00:00 fishd
 4816 ?        00:00:00 intellij
 4868 ?        00:50:42 java
 4939 ?        00:00:19 fsnotifier64
 7667 ?        02:49:08 firefox
 7698 ?        00:00:00 unity-webapps-s

Und du wolltest das töten firefox Prozess durch seine Prozess-ID, dann würden Sie tun:

kill -1 7667

Dann würden Sie dasselbe wiederholen ps befehlen und prüfen, ob der Prozess noch läuft. Wenn es noch läuft, dann tu a

kill -2 7667

sich nach oben arbeiten -9.

Um alle von Ihrem Konto gestarteten Prozesse zu beenden, geben Sie ein kill <level> -1. Gleich wie zuvor: Arbeite dich nach oben -9.

Wenn Sie den Namen des Prozesses kennen, können Sie einfach gehen killall <processname>, wo das ist, was du versuchst zu töten. Beispielsweise: 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.html


5
2018-05-04 23:37