Як вбити процес, який "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:~$ 

Відповіді:


24

Кілька пунктів:

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

  • [bracketed]процеси - це нитки ядра, які не збираються реагувати на вбивство такою програмою, як користувальницька область kill.

  • Щось mountчекає, коли ядро ​​відповість. Він повинен кріпитися, а потім закриватися. Єдиний раз, коли він зависає - це коли кріплення не може пройти, AFAIK. Подумайте про те, як використовувати -vпараметри монтажу, щоб переглянути точну проблему.

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

Також якщо це кріплення з вашого /etc/fstab, ви можете розглянути можливість використання UUID, а не /dev/sdxnпристроїв, які можуть "" змінювати ім'я між черевиками.


У мене є оновлення початкової публікації. Проблема все ж є. Коли я повинен використовувати UUID?
сам

11

Процес перебуває у режимі безперебійного сну, і тому його не можна вбити.

З вікіпедії

Стан безперебійного сну - це стан сну, який не обробляє сигнал відразу. Він прокинеться лише внаслідок отримання ресурсу, що чекає, або після того, як відбудеться час очікування під час цього очікування (якщо вказано, коли він перебуває уві сні). Він здебільшого використовується драйверами пристроїв, які чекають дискового або мережевого вводу-виводу (введення / виведення). Коли процес не працює безперебійно, сигнали, накопичені під час сну, будуть помічені, коли процес повертається із системного виклику чи пастки.

Тож я би перевірив жорсткий диск і розділ на наявність помилок .


2
Я знаю, що на жорсткому диску є помилки, але як вбити програму, намагаючись її використовувати, що викликає вічний цикл.
сам

2

Я вважаю, що процеси в дужках - це ті, які починаються потоками ядра і як такі є критичними для функціонування системи. У цьому випадку jbd2 - це блок блоку журналу, який необхідний, якщо ви хочете використовувати свій жорсткий диск.

Чому ви хочете вбити цей процес?


1
Тому що цей процес створений мною. Я використовую інструмент диска для встановлення жорсткого диска, але здається, що він монтується назавжди. Я хочу зупинити цей процес і спробувати інший, щоб виправити цей жорсткий диск. Я не можу перезавантажити, тому що мій / розділ також здається порушеним. Я використовую багато часу для завантаження свого ubuntu.
сам

1
Процес не створений вами - дисковий інструмент ініціював блок пристрою, який, як уже згадували інші, чекає якогось тайм-ауту
Rory Alsop

2
інформація у відповіді принципово неправильна: бракеровані процеси - це нитки ядра, а не ініційовані init.
Девід Шмітт

Девіде, я відредагую це, щоб виправити це.
mfisch
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.