Как убить процесс, который 'sudo kill -9' не может убить без перезагрузки?

20

Я попытался убить процесс:

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

После предложений, которые я попробовал:

 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 12.12.2011 в 07:23
источник

3 ответа

24

Несколько точек:

  • killall принимает имена процессов, поэтому ваш синтаксис был неправильным.

  • % Процессы co_de% - это потоки ядра, которые не собираются реагировать на то, чтобы быть убитыми программой пользовательского пространства, например [bracketed] .

  • Кое-что вроде kill ожидает ответа ядра. Он должен монтироваться, а затем закрываться. Единственный раз, когда он висит, когда гора не может пройти, AFAIK. Подумайте о том, как использовать mount в настройках вашего монтирования, чтобы увидеть точную проблему.

Я думаю, вы хотите попробовать -v , и если это не работает: sudo umount -f /media/634bad56-5543-40fe-843b-cd31f4a95dba_ . Я надеюсь, что ядро увидит размонтер и остановит предыдущую операцию монтирования.

Кроме того, если это mount из вашего sudo umount -l /media/634bad56-5543-40fe-843b-cd31f4a95dba_ , вы можете рассмотреть использование UUID вместо " /etc/fstab ", которые могут изменять имя между загрузками.

    
ответ дан Oli 12.12.2011 в 09:34
источник
11

Этот процесс находится в режиме бесперебойного сна и поэтому не может быть убит.

Из wikipedia

An uninterruptible sleep state is a sleep state that won't handle a signal right away. It will wake only as a result of a waited-upon resource becoming available or after a time-out occurs during that wait (if specified when put to sleep). It is mostly used by device drivers waiting for disk or network IO (input/output). When the process is sleeping uninterruptibly, signals accumulated during the sleep will be noticed when the process returns from the system call or trap.

Итак, я бы проверил жесткий диск и раздел на наличие ошибок .

    
ответ дан arrange 12.12.2011 в 09:41
2

Я считаю, что процессы в скобках - это те, которые запускаются потоками ядра и как таковые имеют решающее значение для системной функции. В этом случае jbd2 является блочным блочным устройством, которое требуется, если вы хотите использовать свой жесткий диск.

Почему вы хотите убить этот процесс?

    
ответ дан mfisch 12.12.2011 в 07:38