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

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

trap onshutdown TERM

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

trap onsuspend ?

trap onresume ?

  • Не устанавливать $? на ненулевое значение на Control + C
  • Есть ли способ сказать, был ли сценарий оболочки убит сигналом 9
  • есть ли способ узнать, присутствуют ли сигналы в вашем приложении и какие сигналы есть?
  • Эквивалент «truss -T» и «truss -U» в Linux?
  • выход ограничения на выход И избежать сигнала 13
  • `EINTR`: есть ли обоснование?
  • Как я могу убить процесс <defunct>, чей родительский элемент init?
  • Почему Ctrl-C ведет себя иначе, чем kill -2
  • 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) для последнего времени сна / бодрствования регистрируется ядром.

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

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

    Interesting Posts

    Как вы предотвращаете выпуск DHCP во время выключения?

    Переименование с помощью терминала и regexp для удаления ведущих номеров из имен файлов

    Открытие Nautilus без –no-desktop, на Xmonad поверх Ubuntu, что происходит?

    Есть ли способ получить доступ к имени хоста, содержащему знак подчеркивания?

    fsck.vfat не удалось исправить USB

    как устранить неполадки в имени домена перед повторным указателем Nameservers

    Как принудительно обновлять файл, если оставить его без изменений через 55 минут?

    Ошибка аутентификации su, ошибка sudo

    беспроводной интерфейс перестает работать, netcfg сообщает, что сеть не найдена

    Как установить трубку процесса после замены процесса в bash, чтобы процесс продолжался после завершения скрипта?

    Беспроводная связь в Debian Squeeze

    Динамическая аутентификация пароля

    Контрольный символ STTY

    xrandr scale 2×2 для мультидисплея (4K HiDPI и Full HD mix) – размытый вывод

    Вывод команды ls, запутанной для исходного изображения KVM на XFS

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