Відповіді:
Прочитайте його документацію. Це єдиний спосіб. Як Кіт уже писав , початкове значення SIGHUP полягало в тому, що користувач втратив доступ до програми, і тому інтерактивні програми повинні померти. Daemons - програми, які не взаємодіють безпосередньо з користувачем - не потребують такої поведінки, і натомість часто перезавантажують свої конфігураційні файли, коли отримують SIGHUP. Але це лише умовності.
Якщо у вас є джерело, ви також можете його прочитати. Або якщо у вас є лише двійковий файл, ви можете спробувати його розібрати, шукати sigaction
дзвінки, на які встановлюється обробник сигналу SIGHUP
, і спробувати розібратися, що роблять ці обробники сигналів. Буде легше домовитись не надсилати SIGHUP в цю програму.
У будь-який момент часу даний процес знаходиться в одному з трьох станів щодо конкретного сигналу: ігноруючи його, виконуючи дію за замовчуванням або запускаючи користувальницький обробник. Багато уніцій дозволяють бачити сигнальну маску процесу ps
, наприклад, з ps s
Linux. Це може сказати вам, якщо процес ігнорує сигнал або загине миттєво на SIGHUP, але якщо процес встановив обробник, ви не можете сказати, що робить обробник.
Дія за замовчуванням - це припинення процесу на SIGHUP. Дивіться man 7 signal
докладнішу інформацію. Але програми можуть захоплювати це і робити все, що завгодно. Оскільки демонові процеси ніколи не повинні виходити, вони зазвичай використовують SIGHUP для інших цілей, наприклад, для реініціалізації (як це робить pppd). Firefox зберігає дію за замовчуванням.