Я розробляю програму, і мені хотілося б, щоб вона надрукувала статистику виконання на консоль на вимогу. kill
і сигнали мені відразу прийшли в голову.
Читання сигналів Unix у Вікі, SIGINFO
здається, такий шлях:
- Він призначений для цих цілей
- Не припиняє процес, якщо обробник сигналу не реалізований (всупереч
SIGUSRx
- див. Тут )
Однак, перевіряючи вихідний сигнал kill -l
, схоже, мій сервер не реалізує цей сигнал.
Мої запитання:
- Чому його
SIGINFO
немає в моїй системі? Він відсутній у всіх системах GNU Linux? - Чи є простий (тобто не перекомпіляція ядра / glibc) способу включення цього сигналу? Якщо ні, який би був важкий шлях?
- Який альтернативний сигнал я міг би використовувати для своїх цілей, який не викликав би побічних ефектів, якщо не керувати цільовим процесом? (Я вже припускаю, що жоден, оскільки я не зміг знайти жодного іншого відповідного сигналу в посібнику glibc )
Linux metainfo:
Linux whatever 3.18.2-2-ARCH #1 SMP PREEMPT Fri Jan 9 07:37:51 CET 2015 x86_64 GNU/Linux
Оновлення: Я все ще шукаю додаткову інформацію щодо того, чому цей сигнал умовно виключається з інших систем, ніж BSD (див. Коментарі нижче). Сигнал здається досить корисним для багатьох цілей, тому мені важко повірити, що це лише питання примхи - тож який справжній шоустоппер для цього сигналу доступний у Linux?
dd
з моїм Mac. ^T
під час dd
виконання нічого не працює на машині Linux - я відповідно оновлю питання.
^T
відображається у висновкуstty -a
?