LINUX.ORG.RU

Killall - почему не убивается процесс?


0

1

Есть такой процесс:

$ ps aux | grep adb
xi        5254  0.0  0.0  31180  1360 ?        Sl   12:55   0:00 adb -P 5037 fork-server server

Даю команду:

$ killall adb

Она молча выполняется. Снова смотрю список процессов:

$ ps aux | grep adb
xi        5254  0.0  0.0  31180  1360 ?        Sl   12:55   0:00 adb -P 5037 fork-server server

А процесс-то и не удалился. Несколько раз пытаюсь удалить - результат нулевой. Процесс как был, так и висит. ПОЧЕМУ?

Тогда пытаюсь удалить обычным kill:

$ kill 5254

Проверяю - процесса нет! То есть, kill его удалил.

Для интереса снова выполняю команду:

$ killall adb
adb: процесс не найден

То есть, до удаления через kill, команда killall видела процесс, типа удаляла его, но на самом деле не удаляла.

Вопрос. Почему команда killall не смогла удалить процесс, а kill смогла?

★★★★★

Потому что по дефолту посылается SIGTERM, который может отработать не сразу.

post-factum ★★★★★
()
Ответ на: комментарий от ptah_alexs

Если TERM таки отработал, то KILL по-хорошему как раз не надо. Обычно сначала пробую TERM-INT-HUP-QUIT (порядок случайный).

qux
()
Ответ на: комментарий от qux

По теме: от команды зависеть не должно, скорее всего просто прошло время.

qux
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.