Кто отправляет сигнал SIGHUP управляющему процессу псевдотерминала, когда эмулятор терминала завершает работу?

Вы можете использовать cut , чтобы избавиться от «столбца» временных меток

cat logfile | cut -d":" -f1,2,4- > logfile_notimestamp

, если вы сделаете это для обоих файлов, вы можете легко сравнить их с помощью diff .

0
27.05.2018, 06:10
1 ответ

La respuesta ya está contenida en su pregunta. Cuando se desconecta una terminal, el kernel envía SIGHUP al proceso de control de la terminal¹. Para una terminal creada por un controlador en el núcleo, la terminal se desconecta cuando el controlador lo indica. Para un pseudoterminal, el terminal se desconecta cuando el identificador de archivo para el lado maestro del terminal está cerrado (ya sea porque el proceso del emulador de terminal lo cerró explícitamente o porque el proceso del emulador de terminal murió )³.

¹ El proceso de control es cualquier proceso que se ejecutó primero en la terminal; más precisamente, es el primer proceso que abrió la terminal mientras era líder de sesión o se convirtió en líder de sesión mientras tenía la terminal abierta, si este proceso todavía es un líder de sesión.
² El lado maestro es el lado del emulador. El lado esclavo es el lado de la aplicación que se ejecuta en la terminal.
³ Si más de un proceso tiene abierto el lado maestro del terminal, todos deben cerrar sus descriptores de archivo (posiblemente muriendo ), para que el descriptor de archivo se cierre.

3
28.01.2020, 02:23

Теги

Похожие вопросы