Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: kill не хочет убивать apt  (Прочитано 1514 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн igel

  • Автор темы
  • Новичок
  • *
  • Сообщений: 41
    • Просмотр профиля
kill не хочет убивать apt
« : 04 Июля 2008, 13:05:45 »
... и при этом не ругается.
Итак, было:

> sudo apt-get install ....
Чтение баз данных 0%

Глубокое зависание. Никакой информации, отъедает полностью одно ядро от процессора.

> ps -e | grep apt
  0 11606 0000000000044123 0000000000000000 0000000000001000 0000000008000000 R    ?         34:27 apt-get install ispell
 1000 12176 0000000000000000 0000000000000000 0000000000000000 0000000000000000 S+   pts/5      0:00 grep apt

> sudo kill 11606

Никакой реакции. Т.е. ps -e опять даёт существование процесса в статусе R. Вроде бы статус R можно убить. Читаю маны. Пробую:

> sudo kill -9 11606

Никакой реакции.

Куда смотреть? Спасибо.

Оффлайн Ashtar

  • Участник
  • *
  • Сообщений: 201
  • КотЭ - компилятор
    • Просмотр профиля
Re: kill не хочет убивать apt
« Ответ #1 : 04 Июля 2008, 14:12:49 »
sudo kill -s KILL 11606

или

sudo kill -s SIGKILL 11606
« Последнее редактирование: 04 Июля 2008, 14:14:31 от Thirael »
Soturi, sankari, viitan kultaisen kantaja.
_______________________________
 Ex nihilo nihil fit.

Оффлайн igel

  • Автор темы
  • Новичок
  • *
  • Сообщений: 41
    • Просмотр профиля
Re: kill не хочет убивать apt
« Ответ #2 : 04 Июля 2008, 15:46:18 »
Спасибо. Эксперимент поставить не могу, поскольку уже перезагрузился. Кстати, при перезагрузке произошло полное зависание системы - только кнопка Power спасла. Чего бы это было с apt-ом?

Но для общего образования:
kill -s KILL
разве не то же самое, что
kill -9
SIGKILL в man нет, но работает. Это то же самое, что KILL?
И ещё: я правильно понимаю, что сигналл KILL отличается от TERM только тем, что должен (по идее) работать всегда, насмотря на блокировки (со стороны процесса?)?

Спасибо.

Оффлайн Vernik

  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
Re: kill не хочет убивать apt
« Ответ #3 : 04 Июля 2008, 20:05:12 »
-s ключ,который как раз и передает сигнал.
SIGKILL и 9 -одно и то же (этот сигнал не может быть проигнорирован)
TERM -это вообще из другой оперы.
А вот SIGTERM посылается процессу  по умолчанию. В отличие от SIGKILL он может быть обработан или проигнорирован программой.

Оффлайн mazut

  • Забанен
  • Активист
  • *
  • Сообщений: 703
  • да, не заходи ты сюда!
    • Просмотр профиля
Re: kill не хочет убивать apt
« Ответ #4 : 04 Июля 2008, 20:54:39 »
немного о kill, если в программе нет скрипта, отвечающего за ее "убийство", kill не работает... не знаю есть ли такой скрипт для apt-get?
Патрикеич.
Под наблюдением.

Оффлайн igel

  • Автор темы
  • Новичок
  • *
  • Сообщений: 41
    • Просмотр профиля
Re: kill не хочет убивать apt
« Ответ #5 : 05 Июля 2008, 01:41:40 »
немного о kill, если в программе нет скрипта, отвечающего за ее "убийство", kill не работает... не знаю есть ли такой скрипт для apt-get?
Обалдеть... Типа, если я не хочу чтобы мою программу можно было убить kill, то я просто не реализую обработку соответствующего сигнала... Т.е. ядро не может убить программы по своему усмотрению?!

По поводу TERM и SIGTERM, а также kill и SIGKILL цитата из man kill:
SYNOPSIS
       kill [ -signal | -s signal ]
...
Alternate signals may be specified in three ways: -9 -SIGKILL -KILL

Таким образом, получается, что kill -9 <==> kill -KILL <==> kill -SIGKILL <==> kill -s KILL <==> kill -s SIGKILL
То же для TERM. Это так?

kill - полезная комманда, хорошо бы в ней разбираться...
Спасибо всем!

Оффлайн igel

  • Автор темы
  • Новичок
  • *
  • Сообщений: 41
    • Просмотр профиля
Re: kill не хочет убивать apt
« Ответ #6 : 05 Июля 2008, 20:34:52 »
Отвечу сам себе  :)
Цитата из руководства UNIX, размещённого по адресу: http://www.openspin.org/materials/courses/admin/ch01s03.html
Цитировать
SIGKILL (9)
    Сигнал аварийного завершения процесса. По этому сигналу процесс завершается немедленно — без освобождения ресурсов. Этот сигнал не может быть перехвачен, заблокирован или переопределён самим процессом, всегда используется стандартный обработчик опрационной системы. Этот сигнал используется для гарантированного завершения процесса.
А вот SIGTERM предполагает наличие обраотчика, который осуществляет корректное завершение работы с высвобождением ресурсов.
Т.е. kill -s SIGKILL должен, всё-таки убивать с гарантией, по идее  ;)
Осталось разобраться, всё-таки kill -s KILL и kill -s SIGKILL - это одно и то же?

Оффлайн ADL

  • Активист
  • *
  • Сообщений: 447
    • Просмотр профиля
Re: kill не хочет убивать apt
« Ответ #7 : 05 Июля 2008, 22:00:16 »
после ctrl+c нагрузка не спадает с процессора? я так обычно делаю всегда когда надо чтото быстро =)

Оффлайн mazut

  • Забанен
  • Активист
  • *
  • Сообщений: 703
  • да, не заходи ты сюда!
    • Просмотр профиля
Re: kill не хочет убивать apt
« Ответ #8 : 05 Июля 2008, 22:07:47 »

Обалдеть... Типа, если я не хочу чтобы мою программу можно было убить kill, то я просто не реализую обработку соответствующего сигнала... Т.е. ядро не может убить программы по своему усмотрению?!

Да, ты удивишься, после команды

kill -l

Но приветствую рвение к знаниям.
« Последнее редактирование: 05 Июля 2008, 22:20:26 от mazut »
Патрикеич.
Под наблюдением.

Оффлайн igel

  • Автор темы
  • Новичок
  • *
  • Сообщений: 41
    • Просмотр профиля
Re: kill не хочет убивать apt
« Ответ #9 : 06 Июля 2008, 20:54:30 »

Обалдеть... Типа, если я не хочу чтобы мою программу можно было убить kill, то я просто не реализую обработку соответствующего сигнала... Т.е. ядро не может убить программы по своему усмотрению?!

Да, ты удивишься, после команды

kill -l

Но приветствую рвение к знаниям.

kiil -l
даёт список сигналов. И что? Какой сигнал что означает всё равно не понятно. Вот из приведённого выше руководства я всё-таки извлёк, что

kill -s KILL

должен убивать всегда и процесс не может заблокировать этот сигнал. Если я что-то понял неправильно - поправьте меня, пожалуйста.

Оффлайн mazut

  • Забанен
  • Активист
  • *
  • Сообщений: 703
  • да, не заходи ты сюда!
    • Просмотр профиля
Re: kill не хочет убивать apt
« Ответ #10 : 07 Июля 2008, 11:09:22 »
kill простая утилита, которая встроена в bash, для передачи сигнала или сигналов процессу.  керн ни кого не убивает. не для этого он. А как и любая утилита kill может глючить, и процессы могут зависать намертво, не реагируя ни на какие команды.
Патрикеич.
Под наблюдением.

 

Страница сгенерирована за 0.02 секунд. Запросов: 21.