У меня есть сценарий, использующий DaemonRunner для создания процесса daemon с pid-файлом. Проблема в том, что если кто-то попытается запустить его, не останавливая текущий процесс, он будет терпеть неудачу. Каков наилучший способ обнаружить существующий процесс и предупредить пользователя о его прекращении? Это так же просто, как проверка pidfile?DaemonRunner: обнаружение, если демон уже запущен
Мой код похож на этот пример:
#!/usr/bin/python
import time
from daemon import runner
class App():
def __init__(self):
self.stdin_path = '/dev/null'
self.stdout_path = '/dev/tty'
self.stderr_path = '/dev/tty'
self.pidfile_path = '/tmp/foo.pid'
self.pidfile_timeout = 5
def run(self):
while True:
print("Howdy! Gig'em! Whoop!")
time.sleep(10)
app = App()
daemon_runner = runner.DaemonRunner(app)
daemon_runner.do_action()
Чтобы увидеть мой фактический код, смотрите на investor.py в: https://github.com/jgillick/LendingClubAutoInvestor
Если вам нужно вы можете сократить 'self.pidfile_timeout' в 'def __init__' – ExploWare
это работало очень хорошо для меня. Спасибо – jnichols959