Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.22.77.149] |
|
Сообщ.
#1
,
|
|
|
Есть скрипт, в нём устанавливаю свои обработчики сигналов, в частности сигнал Ctrl+z отправки в фон.
trap 'fynk ; kill -TSTP $$' SIGTSTP В функции fynk возвращаю сигналы обратно в систему, командой: trap - SIGTSTP Как видно после выполнения функции fynk и в результате возврата сигнала в систему, выполняется команда: kill -TSTP $$ которая опять посылает сигнал отправки в фон нашему скрипту (без этой команды после отправки в фон командная строка не возвращается). В фон скрипт отправляется отлицно и после командная строка работает нормально. Возвращается из фона скрипт то же нормально. Естественно после возврата из фона я опять устанавливаю свои обработчики сигналов. Второй раз скрипт уже не отправляется в фон. Почему не могу понять, ведь обработчики сигналов я опять установил свои. Добавлено через 28 минут Например вот такой скрипт во второй раз в фон не отправляется: #!/bin/bash fynk1() { trap - SIGTSTP return 0 } IzFona() { trap 'fynk1 ; kill -TSTP $$' SIGTSTP trap 'IzFona' SIGCONT echo "2222222222222" return 0 } IzFona while true do sleep 0 done Почему то он не убивается и по ctrl+c. |