На главную
ПРАВИЛА 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,0748 ]   [ 14 queries used ]   [ Generated: 24.09.17, 06:43 GMT ]