4
こんにちは私は、デーモンをPythonで作成して、Ubuntu Server上で実行しようとしています。以下のコードは問題があるコードです。Python3デーモンを作成する
import sys
import time
import threading
import logging
import logging.handlers
from daemon import runner
class Main(object):
def run(self):
my_logger = logging.getLogger('NameGeneratorDeamon')
my_logger.setLevel(logging.DEBUG)
handler = logging.handlers.SysLogHandler(address=('192.168.0.69', 514),facility=LOG_DAEMON)
my_logger.addHandler(handler)
try:
my_logger.info('Started')
while True:
pass
except Exception as inst:
#Send error to syslog server
my_logger.critical(inst)
class App():
def __init__(self):
self.stdin_path = '/dev/null'
self.stdout_path = '/dev/null'
self.stderr_path = '/dev/null'
self.pidfile_path = '/tmp/foo.pid'
self.pidfile_timeout = 5
def run(self):
service = Main()
service.run()
app = App()
daemon_runner = runner.DaemonRunner(app)
daemon_runner.do_action()
私は、コードを実行したときに私が得たエラーメッセージは以下の通りです:
File "Main.py", line 35, in <module>
daemon_runner = runner.DaemonRunner(app)
File "/usr/local/lib/python3.4/dist-packages/daemon/runner.py", line 111, in __init__
self.daemon_context.stdout = open(app.stdout_path, 'w+t')
io.UnsupportedOperation: File or stream is not seekable.
誰もがこの問題を解決するために、またはあなたがPythonでデーモンを作成するためのより良い方法を持っていない方法を知っていますか?
どのようにエラーが表示されますか? –
'Python3 main.py start'コマンドを実行します。 –
'/dev/null'がシーク可能でないという事実と関係がありますか? – Tico