DaemonRunner を使用して、pid ファイルでデーモン プロセスを作成するスクリプトがあります。問題は、誰かが現在実行中のプロセスを停止せずに開始しようとすると、黙って失敗することです。既存のプロセスを検出し、最初にそれを停止するようにユーザーに警告する最良の方法は何ですか? pidfileをチェックするのと同じくらい簡単ですか?
私のコードは次の例のようになります:
#!/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()
私の実際のコードを確認するには、 https ://github.com/jgillick/LendingClubAutoInvestor のInvestor.py を参照してください。