как уловить приостановку резюме из сценария bash

У меня есть скрипт bash (on osx), который работает непрерывно, он в настоящее время ловушки и обрабатывает завершение так же

trap onshutdown TERM

как я могу сделать ловушку также обрабатывать suspend / resume like

trap onsuspend ?

trap onresume ?

  • Есть ли инструмент командной строки для управления сигналами unix?
  • Есть ли способ выйти из режима «меньше», не останавливая другие процессы в трубе?
  • SIGINFO на GNU Linux (Arch Linux) отсутствует
  • Почему мы используем kill -9 всегда
  • Что происходит при отправке SIGKILL в Zombie Process в Linux?
  • Как определить номера сигналов, используя strace в приложении?
  • Проблема с сигналом WINCH - что я пропускаю?
  • Как узнать, какой процесс потребляет ожидающие сигналы?
  • 2 Solutions collect form web for “как уловить приостановку резюме из сценария bash”

    Вы ищете сигналы SIGTSTP и SIGCONT. Попробуй это:

     trap onsuspend TSTP trap onresume CONT 

    Поскольку программа просто приостанавливается и не надежно передается, я бы вместо этого установил именованный канал и создавал скрипт с часовым поясом.

    Он просто зацикливал каждые 5 или 15 минут, записывая текущую метку времени в именованный канал, а затем спал.

    Затем вы можете прочитать эту трубку и выполнить математику между чтениями – если время скачет более одного или двух пингов, вы спали.

    В зависимости от того, насколько точны вам нужные времена, вы можете затем закрепить файл /private/var/log/system.log (и, возможно, /private/var/log/system.0.log.gz) для последнего времени сна / бодрствования регистрируется ядром.

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

    Шесть из одного, полдюжины другого.

    Linux и Unix - лучшая ОС в мире.