создать процесс, независимый от bash - PullRequest
2 голосов
/ 07 февраля 2011

Я написал программу, которая рассчитывает уровень заряда батареи, доступный в моем ноутбуке. Я также определил пороговое значение в программе. Всякий раз, когда уровень заряда батареи падает ниже порога, я хотел бы вызвать другой процесс. Я использовал систему ("./ invoke.o"), где invoke.o - программа, которую я должен запустить. Я запускаю скрипт, который запускает программу проверки уровня заряда батареи каждые 5 секунд. Все работает нормально, но когда я закрываю оболочку bash, автоматический вызов invoke.o не происходит. Как сделать так, чтобы invoke.o вызывался независимо от того, закрыт bash или нет ??. Я использую UBUNTU LINUX

Ответы [ 3 ]

3 голосов
/ 07 февраля 2011

Попробуйте запустить его как: nohup ./myscript.sh, где команда nohup позволяет закрыть оболочку без прерывания процесса.

0 голосов
/ 07 февраля 2011
  1. man nohup
  2. человек выскочка
  3. человек 2 сетсид (более сложный, приводит к более длинному следу хлебных крошек при запуске демона).
0 голосов
/ 07 февраля 2011

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

Альтернатива - запускать скрипт в фоновом режиме, перенаправляя весь ввод и вывод, включая стандартный вывод ошибок.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...