ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
6 мая
1397860 Топик полностью
Dingo (28.01.2024 12:45, просмотров: 81) ответил Dingo на Я хочу узнать имя родительского процесса, для чего получаю getppid(), и знаю номер: /proc/[ppid]/stat файл даст мне искомое. Нужен он мне временно, хочу вывести на консоль, вообще же собираюсь сигнал родителю посылать, что "готов". А отладочная инфа понадобилась для проверки, потому что "родительский" sh скрипт не принимает мой сигнал после выполненного
Интересно! программа отправляет сигнал, но обработчик вызывается только после того, как отработает sleep 30 А можно как-то не просто в Си-коде sleep() или usleep() вызвать, а вернуть управление родительскому? Ну, вроде как "у меня нет дел сейчас, но я ещё не закончил"? Вроде как в фон самому перейти. 
#!/bin/sh

trap_s2() {
	echo "Stop test."
	exit 2
}

trap_s35() { 	echo " User signal catched!"; }
trap_sCH() {	echo "Child signal"; }

trap trap_s2 2
trap trap_s35 35
trap trap_sCH SIGCHLD
echo "Signals:"
trap

echo "Going to sleep"
./devsrv.elf &
sleep 30
echo "sleep done"