このコードを使用して、アプリケーションをデーモン化します。 start/stop/restart を許可します 次のコマンドを使用してスクリプトを実行します。
python myscript.py start
python myscript.py stop
python myscript.py restart
これに加えて、サービスを制御するための init.d スクリプトもあります。これにより、オペレーティング システムの起動時にサービスを自動的に開始できます。
 これは簡単な例です。コードをクラス内に移動し、run から呼び出すだけです。 MyDeamon 内の関数 .
import sys
import time
from daemon import Daemon
class YourCode(object):
    def run(self):
        while True:
            time.sleep(1)
class MyDaemon(Daemon):
    def run(self):
        # Or simply merge your code with MyDaemon.
        your_code = YourCode()
        your_code.run()
if __name__ == "__main__":
    daemon = MyDaemon('/tmp/daemon-example.pid')
    if len(sys.argv) == 2:
        if 'start' == sys.argv[1]:
            daemon.start()
        elif 'stop' == sys.argv[1]:
            daemon.stop()
        elif 'restart' == sys.argv[1]:
            daemon.restart()
        else:
            print "Unknown command"
            sys.exit(2)
        sys.exit(0)
    else:
        print "usage: %s start|stop|restart" % sys.argv[0]
        sys.exit(2)
成り上がり
 Upstart を使用しているオペレーティング システム (CentOS 6 など) を実行している場合は、Upstart を使用してサービスを管理することもできます。 Upstart を使用している場合は、スクリプトをそのまま維持し、次のようなものを /etc/init/my-service.conf の下に追加するだけです。 
start on started sshd
stop on runlevel [!2345]
exec /usr/bin/python /opt/my_service.py
respawn
その後、開始/停止/再起動を使用してサービスを管理できます。
例
start my-service
stop my-service
restart my-service
upstart を使用したより詳細な例は、こちらから入手できます。
システム
Systemd を使用するオペレーティング システム (CentOS 7 など) を実行している場合は、次の Stackoverflow の回答をご覧ください。
2 つの推奨事項を提供します。
監督者
 1) supervisor をインストールします パッケージ (詳細な手順はこちら):
sudo apt-get install supervisor
 2) /etc/supervisor/conf.d/flashpolicyd.conf でデーモンの構成ファイルを作成します。 :
[program:flashpolicyd]
directory=/path/to/project/root
environment=ENV_VARIABLE=example,OTHER_ENV_VARIABLE=example2
command=python flashpolicyd.py
autostart=true
autorestart=true
 3) supervisor を再起動します 新しい .conf をロードする 
supervisorctl update
supervisorctl restart flashpolicyd
systemd (Linux ディストリビューションで現在使用されている場合)
[Unit]
Description=My Python daemon
[Service]
Type=simple
ExecStart=/usr/bin/python3 /opt/project/main.py
WorkingDirectory=/opt/project/
Environment=API_KEY=123456789
Environment=API_PASS=password
Restart=always
RestartSec=2
[Install]
WantedBy=sysinit.target
 このファイルを /etc/systemd/system/my_daemon.service に配置します systemctl daemon-reload && systemctl enable my_daemon && systemctl start my_daemon --no-block を使用して有効にします .
ログを表示するには:
 systemctl status my_daemon