Come uccidere il processo che 'sudo kill -9' non può uccidere senza riavvio?

20

Ho provato ad uccidere il processo:

  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:~$ 

Dopo i suggerimenti che ho provato:

 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:~$ 
    
posta sam 12.12.2011 - 07:23
fonte

3 risposte

24

Alcuni punti:

  • killall prende solo i nomi dei processi, quindi la tua sintassi non era corretta.

  • I processi
  • [bracketed] sono i thread del kernel che non rispondono per essere uccisi da un programma dello spazio utente come kill .

  • Qualcosa come mount sta aspettando che il kernel risponda. Dovrebbe montare e poi chiudere. L'unica volta che si blocca è quando la montatura non può passare, AFAIK. Prendi in considerazione l'utilizzo di -v nelle opzioni di montaggio per vedere il problema esatto.

Penso che tu voglia provare sudo umount -f /media/634bad56-5543-40fe-843b-cd31f4a95dba_ e se ciò non funziona: sudo umount -l /media/634bad56-5543-40fe-843b-cd31f4a95dba_ . Mi auguro che il kernel veda lo smontaggio e fermi la precedente operazione di montaggio.

Inoltre, se questa è una montatura dal tuo /etc/fstab , potresti prendere in considerazione utilizzando UUID anziché " /dev/sdxn "dispositivi che possono cambiare nome tra gli stivali.

    
risposta data Oli 12.12.2011 - 09:34
fonte
11

Il processo è in un sleep non interrompibile e pertanto non può essere ucciso.

Da wikipedia

  

Uno stato di sospensione ininterrotta è uno stato di sospensione che non gestirà a   segnale subito. Si sveglierà solo come risultato di un'attesa   risorsa disponibile o dopo un timeout durante tale periodo   aspetta (se specificato quando messo a dormire). Viene utilizzato principalmente dal dispositivo   driver in attesa di disco o rete IO (input / output). Quando il   processo sta dormendo ininterrottamente, segnali accumulati durante il   il sonno verrà notato quando il processo ritorna dalla chiamata di sistema o   trappola.

Quindi dovrei controllare il disco rigido e la partizione per errori .

    
risposta data arrange 12.12.2011 - 09:41
fonte
2

Credo che i processi tra parentesi siano quelli che sono avviati dai thread del kernel e in quanto tali sono fondamentali per la funzione di sistema. In questo caso, jbd2 è il dispositivo a blocco di journaling, che è necessario se si desidera utilizzare il disco rigido.

Perché vuoi uccidere questo processo?

    
risposta data mfisch 12.12.2011 - 07:38
fonte

Leggi altre domande sui tag