LINUX.ORG.RU

Процесс не убивается по kill -9


0

0

Доброго времени суток.

Играюсь с настройкой модуля тюнера, и при этом запускаю tvtime и kdetv. Если модуль неправильно настроен, программы тупо виснут, окна убиваются по xkill, в htop состояние процессов - D, по kill -9 не убиваются. Новые запуски программ - новые неубиваемые процессы, не работающие даже с дефолтными настройками модуля, с которыми программы изначально работали.

Собственно вопрос - что делать/ чем убивать/ на что жаловаться? Тюнер нужно настроить, но проверять его таким образом невозможно.

anonymous

>htop состояние процессов - D

Процесс зависает на системном вызове, скорее всего ошибка в драйвере тюнера. В теории можно выгрузить/загрузить модуль (драйвер) тюнера, если он скомпилен модулем, но скорее всего поможет только перезагрузка.

mky ★★★★★
()
Ответ на: комментарий от anonymous


open("/dev/video0", O_RDWR)             = 3
ioctl(3, VIDIOC_QUERYCAP or VT_OPENQRY, 0xbfef888c) = 0
ioctl(3, VIDIOC_ENUMINPUT, 0xbfef88f4)  = 0
ioctl(3, VIDIOC_ENUMINPUT, 0xbfef88f4)  = 0
ioctl(3, VIDIOC_ENUMINPUT, 0xbfef88f4)  = 0
ioctl(3, VIDIOC_ENUMINPUT, 0xbfef88f4)  = 0
ioctl(3, VIDIOC_ENUMINPUT, 0xbfef88f4)  = -1 EINVAL (Invalid argument)
ioctl(3, 0x800476c6, 0xbfef89e8)        = -1 EINVAL (Invalid argument)
ioctl(3, VIDIOC_S_INPUT


И всё.

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

>В теории можно выгрузить/загрузить модуль (драйвер) тюнера, если он скомпилен модулем

Говорю же, перезагрузка модуля с дефолтными опциями не помогает. А постоянно рестартить комп при настройке модуля - это не очень и выход.

anonymous
()

> что делать

Перегружать тачку

> чем убивать

Ничем

> на что жаловаться?

На ошибку в драйвере и/или сбой железа

tailgunner ★★★★★
()
Ответ на: комментарий от anonymous

Re^2: Процесс не убивается по kill -9

> Говорю же, перезагрузка модуля с дефолтными опциями не помогает. А постоянно рестартить комп при настройке модуля - это не очень и выход.

так убить надо иксовые программы? перезапуск иксов не помгает?!

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

>> На ошибку в драйвере и/или сбой железа

> И как это делать? Какие данные приводить?

Подробно опиши ситуацию - модель устройства, версии ядра и драйвера, опции драйвера, что ты пытаешься делать, какие процессы зависают.

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

На самом деле, это без всяких сомнений ошибка в драйвере (или в ДНК его автора) - где-то ожидается прерывание от устройства или выставление/обнуление бита, которое никогда не происходит. Понятно, что драйвер не должен рассчитывать на корректное функционирование устройства, но стоит еще сообщить, не расходуется ли зависшим процессом 100% времени процессора.

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

году.

>На самом деле, это без всяких сомнений ошибка в драйвере (или в ДНК его автора) - где-то ожидается прерывание от устройства или выставление/обнуление бита, которое никогда не происходит. Понятно, что драйвер не должен рассчитывать на корректное функционирование устройства, но стоит еще сообщить, не расходуется ли зависшим процессом 100% времени процессора.

Может я во что-то не врубаюсь (не программист), но причём здесь тогда драйвер? Происходит вот что: я точно не знаю, какой драйвер нужен для тюнера, и перебираю похожие. Некоторые не работают, с ними-то и зависает tvtime. ioctl - это функция системного вызова, нет? На ней всё и зависает. tvtime уже не развивается, последняя версия ещё в 2005 году. Та же пляска и с kdetv, которое тоже как уже в полумёртвом состоянии. Так что вряд ли это скоро исправят, если исправят вообще. Отсюда, собственно, вопрос - на что пожаловаться, чтобы средствами _системы_ устранять подобные вещи? Ведь неубиваемые процессы - это уже к ядру, не драйверу?

anonymous
()
Ответ на: году. от anonymous

> Может я во что-то не врубаюсь (не программист), но причём здесь тогда драйвер?

Где-то в драйвере ожидается прерывание от устройства или выставление/обнуление бита, которое никогда не происходит. Ожидание без тайм-аута и с запретом обработки сигнала (то самое D-состояние), в этом и ошибка - должен быть либо тайм-аут, либо разрешенная обработка сигналов.

> Отсюда, собственно, вопрос - на что пожаловаться, чтобы средствами _системы_ устранять подобные вещи?

Ну я уже написал, на что.

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

>Где-то в драйвере ожидается прерывание от устройства или выставление/обнуление бита, которое никогда не происходит. Ожидание без тайм-аута и с запретом обработки сигнала (то самое D-состояние), в этом и ошибка - должен быть либо тайм-аут, либо разрешенная обработка сигналов.

Тогда ,видимо, придётся жаловаться на все драйверы, ибо их частичный перебор показал, что их поведение такое у всех. ;)

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