Автор Тема: не могу второй раз отправить в фон скрипт  (Прочитано 313 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн v4567

  • Постоялец
  • ***
  • Сообщений: 105
  • Рейтинг: 0
  • Пол: Мужской
    • Просмотр профиля
  • Откуда: Харьков
Есть скрипт, в нём устанавливаю свои обработчики сигналов, в частности сигнал 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.

Оффлайн Amogachis

  • Новичок
  • *
  • Сообщений: 1
  • Рейтинг: 0
  • Пол: Мужской
    • Просмотр профиля
  • Откуда: skin
не могу второй раз отправить в фон скрипт
« Ответ #1 : 04 Сентября 2017, 12:37:37 »
Where can I find more information?