Tag: сигналы

Порядок сигналов: SIGPOLL и SIGCHLD

Я создаю дочерний процесс и подключаюсь к нему с помощью трубы. Я настраиваю канал для отправки SIGPOLL на данные, доступные fcntl I_SETSIG . Ребенок отправляет некоторые данные по каналу, а затем завершает работу. Могу ли я быть уверенным, что SIGPOLL будет получен до SIGCHLD ? (или может в этой ситуации я получаю только SIGCHLD без […]

Идиоматический способ убить -9, только если «изящный» способ не работает?

Есть ли общий способ или существующая утилита для выполнения следующих действий? kill процесс Дайте ему несколько секунд, чтобы закончить kill -9 если он не остановился

Отправка сигнала SIGINT для обработки при выполнении системного вызова или скрипта killall -SIGINT

Я хочу отправить SIGINT во все процессы по имени, поэтому я использую killall -SIGINT, который работает нормально. Теперь я представил вызов system () в моем c-коде для запуска сценария оболочки или команды оболочки, которая занимает около 10 секунд. Я вижу, что в этом случае обработчик сигнала не вызывается, когда я посылаю сигнал. Когда я удаляю […]

Прогресс md5sum при передаче по трубопроводу

Я сравниваю два USB-устройства md5sum /usb1/* /usb2/* | sort rsync с md5sum /usb1/* /usb2/* | sort md5sum /usb1/* /usb2/* | sort , чтобы все файлы, находящиеся в корне диска, вычисляли их суммы md5, тогда результат сортируется по md5sum. md5sum /usb1/bigfile1 /usb1/bigfile2 /usb2/bigfile1 /usb2/bigfile2 вся команда расширяется до md5sum /usb1/bigfile1 /usb1/bigfile2 /usb2/bigfile1 /usb2/bigfile2 . Мое нетерпение […]

Отправить SIGWINCH с клавиатуры

На странице Википедии на Unix Signals говорится: SIGWINCH Сигнал SIGWINCH посылается процессу, когда его управляющий терминал меняет свой размер ( выигрышная строка). Можно ли отправить SIGWINCH с клавиатуры? Если да, то как?

отправка сигнала через kill и pid = 0

От man : Если pid равно 0, sig должен быть отправлен всем процессам (за исключением неуказанного набора системных процессов), идентификатор группы процессов которого равен идентификатору группы процессов отправителя и для которого у процесса есть разрешение на отправку сигнала Что означает, for which the process has permission to send a signal точно означает? Как проверить, какие […]

Как родительский процесс знает идентификаторы процессов дочерних процессов, которые он начал?

Название было вопросом на экзамене, который я недавно получил. Я не мог найти ответ потом в слайдах (также не в Интернете). В слайдах курса описано только, что родительский процесс содержит PID своего дочернего процесса, но не как он их получил. Я предполагаю, что передача идентификаторов осуществляется непосредственно с помощью команды fork или после этого через […]

С несколькими процессами может ли один процесс (p1) отправлять сигнал синхронизации SIGALRM, который принимается двумя или более процессами (p1, p2).?

Думаю, теперь я знаю ответ. Поскольку процессы p2, p3, …. – все дочерние элементы одного родителя p1, то все процессы находятся в одной и той же группе процессов, поэтому любой сигнал (например, SIGALRM ??), заданный p1, будет приниматься каждым из p2 , p3, … Это правильно? Я попробую. – Питер Р

есть ли способ узнать, присутствуют ли сигналы в вашем приложении и какие сигналы есть?

Посмотрите, что делает `handle SIG33 pass nostop noprint`, когда используется в gdb . Я догадываюсь из ответа, разделяемого Стивеном Киттом, этой информацией. о сигналах где-то в исходном коде. Если я загружаю исходный код конкретного приложения, скажем, листовую панель http://tarot.freeshell.org/leafpad/, как я могу найти, какие сигналы присутствуют. Идея состоит в том, чтобы лучше отлаживать.

Каково поведение переключателя контекста в середине сигнала тревоги ()?

если процесс устанавливает сигнал SIGALARM, выполняя alarm(10) . Значение через 10 секунд SIGALARM будет отправлено операционной системой. Что произойдет, если есть контекстный переключатель – система все равно отправит сигнал независимо от контекстного переключателя? или он вернется к процессу и дождитесь, пока он запустится (всего) на 10 секунд, и только затем отправьте сигнал?

Linux и Unix - лучшая ОС в мире.