На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное DigiMania RSS
msm.ru
! Правила трёх "С"
Пожалуйста,
1. Соблюдайте правила Форума.
2. Слушайте советы Модераторов.
(например, http://forum.sources.ru/index.php?act=ST&f=7&t=80382 )
3. Сверяйтесь с учебником по Великому и Могучему
Модераторы: JoeUser
  
> не могу второй раз отправить в фон скрипт
Есть скрипт, в нём устанавливаю свои обработчики сигналов, в частности сигнал Ctrl+z отправки в фон.

ExpandedWrap disabled
    trap 'fynk ; kill -TSTP $$' SIGTSTP

В функции fynk возвращаю сигналы обратно в систему, командой:

ExpandedWrap disabled
    trap - SIGTSTP

Как видно после выполнения функции fynk и в результате возврата сигнала в систему, выполняется команда:

ExpandedWrap disabled
    kill -TSTP $$

которая опять посылает сигнал отправки в фон нашему скрипту (без этой команды после отправки в фон командная строка не возвращается).

В фон скрипт отправляется отлицно и после командная строка работает нормально.
Возвращается из фона скрипт то же нормально. Естественно после возврата из фона я опять устанавливаю свои обработчики сигналов.
Второй раз скрипт уже не отправляется в фон.
Почему не могу понять, ведь обработчики сигналов я опять установил свои.

Добавлено через 28 минут
Например вот такой скрипт во второй раз в фон не отправляется:

ExpandedWrap disabled
    #!/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.
1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
0 пользователей:


Рейтинг@Mail.ru
[ Script Execution time: 0,0746 ]   [ 19 queries used ]   [ Generated: 21.09.17, 19:35 GMT ]