2016-05-31 4 views
0

У меня есть собственная библиотека питона которая устанавливается широкой, когда я делаю этозапустить свой собственный сценарий питона в фоновом режиме

python setup.py install 

внутри директории питона проекта, он копирует исполняемый файл в бункере также, но в основном я делаю все это так, что его можно запустить как службу, и я должен был бы включить его в выскочку или monit вид библиотек unix. Мое имя процесса: watchman, когда я делаю это watchman &, чтобы сделать его daemon своим не совсем тем, что делает его демоном. Я делаю что-то неправильно, делая это демоном. Я новичок в этом, кто-нибудь может мне помочь в этом.

+0

'' '' '' '' не осуждает процесс; что только перемещает его на задний план. Фоновый процесс и демон значительно отличаются друг от друга, учитывая, что ожидание демона - это поток, который нельзя убить, покидая сеанс терминала. – Makoto

ответ

1

& Используется для запуска процесса в фоновом режиме. Он все еще очень привязан к терминалу (tty), из которого вы его запускаете.

Таковы основные шаги создания процесса, демон:

  1. Fork ваш процесс и убить его родителей, чтобы она стала сиротой (обрабатывается непосредственно init)
  2. Detach его из текущего процесса группы путем присвоения нового сеанса с помощью setsid()
  3. Теперьexec ваш процесс демона
  4. Вилка снова, так что он получает отрывается от т erminal вы запустили его с
  5. Теперь перезагрузите дескрипторы файла (поскольку он потерял их при отсоединении от терминала), например stdin, stdout.