Вопросы с тегом «signals»

Сигнал - это сообщение, которое можно отправить запущенному процессу. Сигналы могут инициироваться программами, пользователями или администраторами.

266
Как работает ошибка сегментации под капотом?

Похоже, я не могу найти какую-либо информацию по этому поводу, кроме того, что «MMU ЦП посылает сигнал» и «ядро направляет его в вызывающую программу, завершая ее». Я предположил, что он, вероятно, отправляет сигнал в оболочку, а оболочка обрабатывает его, завершая ошибочный процесс и печать...

86
Переслать SIGTERM ребенку в Баш

У меня есть скрипт Bash, который выглядит примерно так: #!/bin/bash echo "Doing some initial work...."; /bin/start/main/server --nodaemon Теперь, если оболочка bash, выполняющая скрипт, получает сигнал SIGTERM, она также должна отправить SIGTERM на работающий сервер (который блокируется, поэтому...

82
Как сигнализировать об окончании ввода стандартного ввода

В Bash я узнал, что сигнал окончания можно изменить с помощью вот документа. Но по умолчанию, как я могу сигнализировать конец ввода стандартного ввода? Я обнаружил, что с помощью cat и chardet их входные данные stdin могут сигнализироваться как завершенные с помощью Ctrl + d. Но, похоже, я помню,...

63
«Ловушка ... INT TERM EXIT» действительно необходимо?

Много примеров для trapиспользования trap ... INT TERM EXITв задачах очистки. Но действительно ли необходимо перечислять все три сигсипа? В руководстве сказано: Если SIGNAL_SPEC - EXIT (0), ARG выполняется при выходе из оболочки. что, я считаю, применимо независимо от того, закончился ли скрипт...

62
Почему SIGINT не распространяется на дочерний процесс при отправке его родительскому процессу?

Учитывая процесс оболочки (например, sh) и его дочерний процесс (например cat), как я могу имитировать поведение Ctrl+, Cиспользуя идентификатор процесса оболочки? Вот что я пробовал: Запуск shи затем cat: [user@host ~]$ sh sh-4.3$ cat test test Отправка SIGINTна catдругой терминал: [user@host ~]$...

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

Когда процесс прерывается сигналом, способным обрабатывать, например, SIGINTили SIGTERMон не обрабатывает сигнал, каким будет код выхода процесса? Как насчет таких необработанных сигналов SIGKILL? Из того, что я могу сказать, уничтожение процесса с SIGINTвероятным результатом приводит к коду выхода...

53
Тайм-аут в сценарии оболочки

У меня есть сценарий оболочки, который читает со стандартного ввода . В редких случаях никто не будет готов предоставить данные, и сценарий должен отключиться . В случае тайм-аута скрипт должен выполнить некоторый код очистки. Какой лучший способ сделать это? Этот сценарий должен быть очень...

52
Завершение бесконечного цикла

У меня есть команда, которую я хочу запускать автоматически каждый раз, когда она завершается, поэтому я запустил что-то вроде этого: while [ 1 ]; do COMMAND; done; но если я не могу остановить цикл, так Ctrl-cкак это просто убивает, COMMANDа не весь цикл. Как мне добиться чего-то подобного, но что...

42
Невозможно остановить bash-скрипт с помощью Ctrl + C

Я написал простой скрипт bash с циклом для печати даты и проверки связи с удаленным компьютером: #!/bin/bash while true; do # *** DATE: Thu Sep 17 10:17:50 CEST 2015 *** echo -e "\n*** DATE:" `date` " ***"; echo "********************************************" ping -c5 $1; done Когда я запускаю его...

41
Несколько раз нажатие ctrl-c заставляет запущенную программу закрываться быстрее?

Я часто начинаю читать огромный файл, а затем через некоторое время хочу выйти, но есть задержка от нажатия Ctrl+ Cдо остановки программы. Есть ли шанс сократить отставание, нажав клавишу Ctrl+ Cнесколько раз? Или я трачу свои...

33
Что происходит, когда пользователь без полномочий root посылает сигналы процессу пользователя root?

Меня интересует безопасность сигналов UNIX. SIGKILLубьет процесс. Итак, что происходит, когда процесс, не являющийся пользователем root, отправляет сигнал процессу пользователя root? Процесс все еще выполняет обработчик сигнала? Я следую принятому ответу (gollum's) и печатаю man capabilites, и я...

32
Поведение программы при получении kill -HUP?

Есть ли способ узнать, что будет делать программа, когда она получит сигнал уничтожения HUP? Не просто запустив команду ofc: D Например, killall -HUP pppdбудет перезагружен PPPd killall -HUP firefoxбудет просто убить...

32
Разница между менее сильным сигналом убийства -HUP (1) -INT (2) и -TERM (15)

Помимо самого сильного kill -9(SIGKILL), я не совсем понимаю разницу между 3 другими общими сигналами ( здесь ) -HUP(1), -INT(2) и -TERM(15). В каких случаях один из них будет работать, а другой нет? В общем, когда -9( -KILL) не удается? Мне кажется, они просят, чтобы процесс завершился изящно ,...

31
Как сигналы работают внутри?

В общем, чтобы убить процессы, мы генерируем сигналы вроде SIGKILLи SIGTSTPт. Д. Но как узнать, кто заказал этот конкретный сигнал, кто отправил его определенному процессу, и вообще, как сигналы выполняют свои операции? Как внутренние сигналы...

30
Какова цель отложенной приостановки (Ctrl-Y) в Bash?

Полная часть справочной страницы Bash, которая применима, только говорит: Если операционная система, в которой работает bash, поддерживает управление заданиями, bash содержит средства для ее использования. Ввод символа приостановки (обычно ^ Z, Control-Z) во время выполнения процесса вызывает...

29
Прерывание системных вызовов при перехвате сигнала

Из чтения страниц справочника по вызовам read()и write()вызовам выясняется, что эти вызовы прерываются сигналами независимо от того, должны они блокировать или нет. В частности, предположим процесс устанавливает обработчик для некоторого сигнала. устройство открыто (скажем, терминал) с O_NONBLOCK...

28
Что вызывает отправку различных сигналов?

Иногда меня смущают все сигналы, которые может получать процесс. Насколько я понимаю, у процесса есть обработчик по умолчанию ( расположение сигналов ) для каждого из этих сигналов, но он может предоставить свой собственный обработчик путем вызова sigaction(). Итак, вот мой вопрос: что вызывает...