Wie kann man den Prozess beenden, den 'sudo kill -9' ohne Neustart nicht beenden kann?

20

Ich habe versucht, den Prozess abzubrechen:

  sam@sam-desktop:~$ ps -aux|grep sda
  Warning: bad ps syntax, perhaps a bogus '-'? See       http://procps.sf.net/faq.html
  root      2898  0.0  0.0      0     0 ?        S    11:39   0:00       [jbd2/sda6-8]
  root      2899  0.0  0.0   2300   716 ?        D    11:39   0:00       mount -t ext4 -o uhelper=udisks,nodev,nosuid /dev/sda6       /media/634bad56-5543-40fe-843b-cd31f4a95dba_
  sam       2973  0.0  0.0   3328   876 pts/0    S+   14:13   0:00       grep --color=auto sda
  sam@sam-desktop:~$ sudo kill -9 2898
  sam@sam-desktop:~$ sudo kill -9 2899
  sam@sam-desktop:~$ sudo killall -9 2898
  2898: no process found
  sam@sam-desktop:~$ sudo killall -9 2899
  2899: no process found
  sam@sam-desktop:~$ ps -aux|grep sda
  Warning: bad ps syntax, perhaps a bogus '-'? See       http://procps.sf.net/faq.html
  root      2898  0.0  0.0      0     0 ?        S    11:39   0:00       [jbd2/sda6-8]
  root      2899  0.0  0.0   2300   716 ?        D    11:39   0:00       mount -t ext4 -o uhelper=udisks,nodev,nosuid /dev/sda6       /media/634bad56-5543-40fe-843b-cd31f4a95dba_
  sam       2987  0.0  0.0   3328   872 pts/0    S+   14:22   0:00       grep --color=auto sda
  sam@sam-desktop:~$ 

Nach Vorschlägen habe ich versucht:

 sam@sam-desktop:~$ sudo umount -f      /media/634bad56-5543-40fe-843b-cd31f4a95dba_
 umount2: Invalid argument
 umount: /media/634bad56-5543-40fe-843b-cd31f4a95dba_: not mounted
 sam@sam-desktop:~$ sudo umount -l      /media/634bad56-5543-40fe-843b-cd31f4a95dba_
 umount: /media/634bad56-5543-40fe-843b-cd31f4a95dba_: not mounted
 sam@sam-desktop:~$ 
Sam
quelle

Antworten:

24

Ein paar Punkte:

  • killall Nimmt nur Prozessnamen an, sodass Ihre Syntax dort falsch war.

  • [bracketed]Prozesse sind Kernel-Threads, die nicht auf das Beenden durch ein Userspace-Programm wie reagieren kill.

  • So etwas mountwartet darauf, dass der Kernel antwortet. Es sollte montiert und dann geschlossen werden. Das einzige Mal, wenn es hängt, ist, wenn das Mount nicht durchkommen kann, AFAIK. Ziehen Sie -vin Betracht, in Ihren Mount-Optionen zu verwenden, um das genaue Problem zu ermitteln.

Ich glaube , Sie wollen versuchen , sudo umount -f /media/634bad56-5543-40fe-843b-cd31f4a95dba_und wenn das nicht funktioniert: sudo umount -l /media/634bad56-5543-40fe-843b-cd31f4a95dba_. Ich würde hoffen, dass der Kernel das Unmount sehen und den vorherigen Mount-Vorgang stoppen würde.

Auch wenn dies ein Mount von Ihnen ist /etc/fstab, sollten Sie UUIDs anstelle von " /dev/sdxn" Geräten verwenden, bei denen der Name zwischen den Starts geändert werden kann .

Oli
quelle
Ich habe den ursprünglichen Beitrag aktualisiert. Das Problem ist immer noch da. Wann sollte ich UUIDs verwenden?
Sam
11

Der Prozess befindet sich in einem unterbrechungsfreien Schlaf und kann daher nicht getötet werden.

Aus Wikipedia

Ein unterbrechungsfreier Schlafzustand ist ein Schlafzustand, der ein Signal nicht sofort verarbeitet. Es wird nur aktiviert, wenn eine Ressource verfügbar ist, auf die gewartet wurde, oder wenn während dieser Wartezeit eine Zeitüberschreitung auftritt (sofern dies beim Aktivieren des Ruhezustands angegeben wurde). Es wird hauptsächlich von Gerätetreibern verwendet, die auf Festplatten- oder Netzwerk-E / A (Eingabe / Ausgabe) warten. Wenn der Prozess unterbrechungsfrei schläft, werden die während des Schlafens gesammelten Signale bemerkt, wenn der Prozess vom Systemaufruf oder Trap zurückkehrt.

Also würde ich die Festplatte und die Partition auf Fehler überprüfen .

ordnen
quelle
2
Ich weiß, dass die Festplatte Fehler aufweist, aber wie kann ich das Programm beenden, das versucht, es zu verwenden, was zu einer Endlosschleife führt?
Sam
2

Ich glaube, dass Prozesse in Klammern solche sind, die von Kernel-Threads gestartet werden und als solche für die Systemfunktion von entscheidender Bedeutung sind. In diesem Fall ist jbd2 das Journaling-Block-Gerät, das erforderlich ist, wenn Sie Ihre Festplatte verwenden möchten.

Warum willst du diesen Prozess abbrechen?

mfisch
quelle
1
Weil dieser Prozess von mir erstellt wird. Ich verwende ein Festplatten-Tool, um eine Festplatte zu mounten, aber es scheint, als würde ich für immer mounten. Ich möchte diesen Prozess stoppen und einen anderen wiederholen, um diese Festplatte zu reparieren. Ich kann nicht neu starten, da meine / -Partition ebenfalls defekt zu sein scheint. Ich benutze viel Zeit, um mein Ubuntu hochzufahren.
Sam
1
Der Prozess wurde nicht von Ihnen erstellt - das Disk-Tool hat das Block-Gerät initiiert, das, wie andere bereits erwähnt haben, auf eine Auszeit wartet
Rory Alsop,
2
Informationen in der Antwort sind grundsätzlich falsch: Prozesse in Klammern sind Kernel-Threads, die nicht von init gestartet wurden.
David Schmitt
David, ich werde das korrigieren.
mfisch