Запитання з тегом «signals»

Сигнал - це повідомлення процесу, що сталася подія. Сигнали іноді описуються як програмні переривання. Сигнали аналогічні апаратним перериванням, оскільки переривають нормальний потік виконання програми; в більшості випадків неможливо точно передбачити, коли надійде сигнал. Вони визначені стандартами C та розширені в POSIX, але багато інших мов / систем програмування також забезпечують доступ до них.

14
Що вбило мій процес і чому?
Моя програма працює як фоновий процес в Linux. Наразі він запускається в командному рядку у вікні терміналу. Нещодавно користувач деякий час виконував додаток, і він загадково помер. Текст: Загинув був на терміналі. Це сталося два рази. Я запитав, чи хтось на іншому Терміналі використовував команду kill для вбивства процесу? Ні. …
614 linux  process  kill  signals 

12
Як зафіксувати SIGINT в Python?
Я працюю над сценарієм python, який запускає кілька процесів і підключення до бази даних. Раз у раз я хочу вбити сценарій із сигналом Ctrl+ C, і я хотів би зробити чистку. У Perl я зробив би це: $SIG{'INT'} = 'exit_gracefully'; sub exit_gracefully { print "Caught ^C \n"; exit (0); } …
534 python  controls  signals 


10
Як запобігти SIGPIPE (або правильно поводитися з ними)
У мене невелика серверна програма, яка приймає з'єднання в TCP або локальному сокеті UNIX, читає просту команду і, залежно від команди, надсилає відповідь. Проблема полягає в тому, що клієнт може не мати інтересу до відповіді іноді і виходить зранку, тому запис у цей сокет спричинить SIGPIPE і призведе до збою …
259 c  io  signals  broken-pipe  sigpipe 

9
Чи можливо знімати сигнал Ctrl + C і запускати функцію очищення "відкладати"?
Я хочу зафіксувати сигнал Ctrl+C( SIGINT), що надсилається з консолі, та роздрукувати деякі часткові підсумки виконання. Чи можливо це в Голангу? Примітка. Коли я вперше опублікував це питання, я збентежився Ctrl+C, SIGTERMа не замість цього SIGINT.
207 signals  go  sigterm 


9
Яка різниця між сигакцією та сигналом?
Я збирався додати додатковий обробник сигналу в додаток, який ми тут маємо, і я помітив, що автор використовував sigaction()для налаштування інших обробників сигналів. Я збирався використовувати signal(). Для дотримання конвенції я повинен використовувати, sigaction()але якщо я писав з нуля, що мені вибрати?
143 c  signals  posix 



2
Обробка сигналів з декількох потоків в Linux
Що в Linux відбувається, коли програма (яка, можливо, має кілька потоків) отримує сигнал, як SIGTERM або SIGHUP? Яка нитка перехоплює сигнал? Чи може кілька потоків отримати один і той же сигнал? Чи є спеціальна нитка, повністю присвячена обробці сигналів? Якщо ні, що відбувається всередині потоку, який повинен обробляти сигнал? Як …
119 c  linux  multithreading  signals  ipc 


4
Як я можу зловити SIGSEGV (помилка сегментації) і отримати трасування стека під JNI на Android?
Я переношу проект до нового Android Native Development Kit (тобто JNI), і я хотів би перехопити SIGSEGV, якщо це відбудеться (можливо, також SIGILL, SIGABRT, SIGFPE), щоб представити приємне діалогове вікно звітності про збої, а не (або раніше), що відбувається зараз: негайна безцеремонна смерть процесу і, можливо, якась спроба ОС перезапустити …

16
Чи можу я надіслати ctrl-C (SIGINT) до програми в Windows?
Я (в минулому) написав крос-платформний (Windows / Unix) додатки , які при запуску з командного рядка, оброблюваних користувач надрукував Ctrl- Cпоєднання таким же чином (тобто припинити застосування чисто). Чи можливо в Windows надіслати Ctrl- C/ SIGINT / еквівалент процесу з іншого (не пов’язаного) процесу з проханням про його чистое завершення …

7
У якому порядку слід надсилати сигнали до процесів витонченого вимкнення?
У коментарі до цієї відповіді на інше питання коментатор зазначає: не використовуйте kill -9, якщо це абсолютно не потрібно! SIGKILL не може бути перехоплений, тому вбита програма не може запустити жодну процедуру вимкнення, наприклад, для стирання тимчасових файлів. Спочатку спробуйте HUP (1), потім INT (2), потім КВІТ (3) Я принципово …

7
Як уникнути використання printf в обробнику сигналу?
Оскільки printfне здійснюється повторне введення, не слід вважати безпечним використання його в обробнику сигналу. Але я бачив багато прикладів кодів, які використовують printfцей спосіб. Тож моє запитання: коли нам потрібно уникати використання printfв обробнику сигналу, і чи є рекомендована заміна?
86 c  linux  signals 

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.