Wie kann ich Prozesse in Ubuntu beenden?

134

Wie kann ich alle Prozesse beenden, die von meinem eigenen Konto ohne Rootkonto ausgeführt werden?

Ich habe einige smbd-Prozesse, die ich von meiner Windows-Maschine verursacht habe, und so habe ich mich mit dem Linux-Server verbunden und möchte diese Spinning-Prozesse beenden. Ich bin nicht berechtigt, Dienste neu zu starten oder den Computer neu zu starten.

    
djangofan 17.02.2012, 00:49

13 Antworten

161

Um alle Prozesse zu beenden, für die Sie die Erlaubnis zum Beenden haben, führen Sie einfach den Befehl

aus

kill -15 -1 oder kill -9 -1 in Abhängigkeit vom gewünschten Verhalten (verwenden Sie man kill für Details)

Um einen bestimmten Prozess abzubrechen, beispielsweise Firefox, führen Sie einfach

aus

pkill firefox oder killall firefox je nach gewünschtem Verhalten: Was ist das? 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 User-Bob suchen möchten, kann dies hilfreich sein.

pgrep -l -u bob

oder

ps -ef | grep bob
    
ste_kwr 17.02.2012, 00:58
47

Verwenden Sie sudo kill <pid> oder sudo killall <process-name>

    
Chris Wayne 17.02.2012 00:50
19

Versuchen wir etwas mehr:

sudo apt-get install htop 

Mit dem Befehl top können Sie die Ressourcennutzung Ihres Systems und die Prozesse anzeigen, die die meisten Systemressourcen beanspruchen. Oben wird eine Liste von Prozessen angezeigt, wobei die Prozesse die meiste CPU oben verwenden.

htop zeigt dieselben Informationen mit einem verständlicheren Layout an. Außerdem können Sie Prozesse mit den Pfeiltasten auswählen und mit den Tasten F Aktionen ausführen, z. B. um sie zu töten oder ihre Priorität zu ändern     

Fantomas 12.01.2014 05:41
14

Sie können

verwenden
ps -ax | grep application name 

Wenn Sie in Terminal wie ps -ax | grep firefox nach Firefox-Typ suchen, wird die Prozess-ID der entsprechenden Anwendung angezeigt. Sie können diese Anwendung mit dem Befehl kill stoppen, wenn Prozess-ID = 1317,

kill -9 1317
    
Xman Classical 22.07.2014 08:21
12

Ich würde xkill verwenden. Geben Sie xkill in ein Terminal ein und klicken Sie in das Fenster oder geben Sie xkill und die Prozess-ID ein. Die Eingabe wird abgebrochen.

Weitere Informationen zu xkill finden Sie auf x.org.

    
Alvar 27.12.2013 22:36
7

Um alle Prozesse eines Benutzers username zu beenden, führen Sie Folgendes aus:

pkill -U username
    
user129146 07.02.2013 03:30
5

Ich würde Ihr Problem in zwei Teile aufteilen:

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

ps -u 'whoami'

Das whoami ist nur für den Fall, dass Sie den Namen des von Ihnen verwendeten Kontos nicht kennen, oder geben Sie einfach den Namen des Kontos ohne Anführungszeichen ein.

Hier werden alle Vorgänge aufgelistet, die von Ihrem Konto gelöscht werden können.

2) Der Befehl ps listet die Prozessnummer, TTY, Zeit 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 den Befehl kill , der ein SIGNAL an den Prozess sendet. Das Signal zeigt an, was der Prozess tun sollte . Wenn Sie beispielsweise -1 an den Prozess senden, werden Sie aufgefordert, die Konfigurationsdatei neu zu laden. Das Senden von -2 entspricht dem Drücken von Strg + C in diesem Prozess. -9 bewirkt, dass der Kernel den Prozess abbricht, ohne ihn an den Prozess zu übermitteln.

Angenommen, ps -u whoami hat etwas wie

zurückgegeben
  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 Sie wollten den firefox -Prozess durch seine Prozess-ID beenden, dann würden Sie Folgendes tun:

kill -1 7667

Dann führen Sie denselben Befehl ps erneut aus und prüfen, ob der Prozess noch ausgeführt wird. Wenn es noch läuft, dann machen Sie eine

kill -2 7667

bis zu -9 .

Geben Sie kill <level> -1 ein, um alle von Ihrem Konto gestarteten Prozesse zu beenden. Gleich wie zuvor: bis zu -9 .

Wenn Sie den Namen des Prozesses kennen, gehen Sie einfach zu killall <processname> , wo derjenige ist, den Sie zu töten versuchen. Zum Beispiel: killall fish (Fisch ist in diesem Sinne die Friendly Interactive Shell).

Die Dokumentation zu killall finden Sie hier: link

    
Alexandre Santos 05.05.2015 01:37
3

Mit dieser Anwendung können Sie Programmlisten anzeigen

Installieren Sie htop

sudo apt-get install htop

für siehe Prozess und Kill-Prozess Sie können es installieren und einfach löschen

    
Reza Bojnordi 27.05.2017 14:21
2

... Alle Prozesse in Linux reagieren auf Signale. Signale sind eine Möglichkeit, den Programmen auf OS-Ebene mitzuteilen, dass sie ihr Verhalten beenden oder ändern sollen

So senden Sie Prozesssignale per PID

Die üblichste Art, Signale an ein Programm zu übergeben, ist der Befehl kill.

Wie Sie vielleicht erwarten, besteht die Standardfunktionalität dieses Dienstprogramms darin, einen Prozess zu beenden:

kill PID_of_target_process

Dies sendet das TERM-Signal an den Prozess. Das TERM-Signal weist den Prozess an, bitte zu beenden. Auf diese Weise kann das Programm Bereinigungsvorgänge durchführen und reibungslos beenden.

Wenn sich das Programm nicht richtig verhält und nicht beendet wird, wenn das TERM-Signal gegeben wird, können wir das Signal durch Weitergeben des KILL-Signals erhöhen:

kill -KILL PID_of_target_process

Dies ist ein spezielles Signal, das nicht an das Programm gesendet wird.

Stattdessen wird es dem Betriebssystemkern übergeben, der den Prozess herunterfährt. Dies wird verwendet, um Programme zu umgehen, die die an sie gesendeten Signale ignorieren ...

    
jackal404258 03.05.2015 02:00
2

Ich habe ein kleines Skript geschrieben, das ich geschrieben habe, um (in meinem Fall) Skype zu töten:

kill -s 9 'ps aux | grep skype | head -n 1 | cut -f4 -d" "'

Aber ich fand heraus, dass, so sehr das damals auch funktionierte, es am nächsten Tag nicht funktionierte, da die PID eine andere Länge hatte und die Anzahl der Leerzeichen anders war.

Dann bin ich auf diese Seite gestoßen und habe es versucht

pgrep -l -u justin

die Prozesse bequem im Format

ausgibt
[pid] [name]

Also habe ich meinen Code im Skript folgendermaßen angepasst:

kill -s 9 'pgrep -l -u justin | grep skype | cut -f1 -d" "'

Dies führt das Weiterleiten aller Prozesse, die justin ausgeführt wird (die in einen beliebigen Benutzernamen geändert werden können) an grep , wobei nach skype gesucht wird (dies kann in Ihren Prozess geändert werden) und leitet dann weiter Zeile zu cut , die dann nur die PID liest und schließlich diese PID im Befehl kill verwendet, um sie zu beenden.

    
justingiffard 27.12.2013 22:10
0

Ich habe das folgende Verfahren verwendet, um einen Prozess in Ubuntu ::

zu beenden

Schritt 1: Holen Sie sich die PID des Prozesses, indem Sie grep verwenden, oder verwenden Sie -C auch ::

ps aux | -C 'filename'

oder

ps -ef | -C 'filename'

oder

ps aux | grep 'filename'

oder

ps -ef | grep 'filename' 

Schritt 2: Notieren Sie sich die PID-Nummer.

Schritt 3: Verwenden Sie den Befehl 'kill' zusammen mit der PID-Nummer als:

kill pidnumber
    
harrypotter0 27.05.2017 13:46
0

Mit Strg + Alt + Entf können Sie auf den Task-Manager zugreifen, von dem aus Prozesse mit wenigen Klicks einfach abgebrochen werden können. Für mich ist es weniger erforderlich, sich Befehle zu merken, die bei falscher Ausführung schädlich sein könnten:

link

    
Cedric Eveleigh 27.05.2017 13:52
0

Hier ist ein einfaches Python-Skript, das ich geschrieben habe, 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 programmatisch beenden möchte. Ich kann "Killall Python" nicht verwenden, weil dadurch die Prozesse angehalten werden, die ich zum Laufen brauche.

Benennen Sie die Datei "killProcess.py" und fügen Sie den Namen des Skripts hinzu, das Sie anhalten möchten. Beispiel: python killProcess.py runnablePoller.py beendet die Datei runnablePoller.py

import os;
import sys;
for arg in sys.argv:
    if(arg!="killProcess.py"):
        process=arg;
        print(process);
processes =os.popen("ps -ef | grep "+process).read();
processes=processes.split("\n");
processes=processes[0].split(" ");
#print(processes);
for p in processes:
    try:
        pid=int(p);
        print(pid); 
        break;
    except:
        continue;

os.system("kill "+str(pid));
    
nick carraway 18.06.2017 21:39

Tags und Links