2

Немного далеко ...

Я выполняю длительный процесс, который занимает несколько часов. Процесс переиндексации файла нечеткого соответствия базы данных CDDB. Процесс продолжает выходить через некоторое время, хотя продолжительность времени является переменной:

# /usr/local/bin/cddbd -fdv
Generating the fuzzy matching hash file.
Scanning /home/freedb/cddb/soundtrack.
Scanning /home/freedb/cddb/lost+found.
Scanning /home/freedb/cddb/jazz.
Scanning /home/freedb/cddb/data.
Scanning /home/freedb/cddb/rock.
Scanning /home/freedb/cddb/reggae.
Scanning /home/freedb/cddb/newage.
Scanning /home/freedb/cddb/folk.
Scanning /home/freedb/cddb/misc.
Received signal 28.
Quitting, status 1.

Выход из процесса CDDB. Я никогда не видел сигнал 28 раньше, и после некоторых исследований есть две возможности: "изменение размера окна" (хотя это, похоже, только BSD или Sun Unix) или "Виртуальный будильник" (только BSD). Я запускаю это в Ubuntu ...

Поэтому я подумал, что, игнорируя тот факт, что я не должен получать их в Linux, может ли экран выдавать сигналы "изменения размера окна"?

Как я уже сказал, немного далеко!

1 ответ1

3

Краткое чтение исходного кода для screen показывает, что он отправляет SIGWINCH при подключении к сеансу, чтобы сообщить программам, что они должны перепроверить ширину терминала × высоту. Это в attacher.c.

SIGWINCH всегда существовал в Linux - signal(7) просто говорит «4.3BSD, Sun», потому что именно тогда был введен сигнал, как часть поддержки псевдо-tty.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .