
VPSDigitalOcean
と。Ubuntu Droplet
nohup
# nohup python patrol.py &
すべてがうまく機能しますが、SSH接続を閉じて再接続すると、プロセスIDが存在しないことがわかります。 Pythonタスクは20分ごとにAPIにリクエストを送信します。 APIサーバーコンソールで、プロセスがまだ有効であることがわかりました。しかし、ps
コマンドでプロセスIDが見つかりません。
答え1
ps
デフォルトでは、同じ端末で実行されているプロセスのみが表示されるため、SSH接続が終了した後にバックグラウンドで送信されたプロセスは表示されません。
説明書に示すように、ps -ef
次のいずれかを使用してください(マニュアルページ):
標準構文を使用してシステム内のすべてのプロセスを表示するには、次の手順を実行します。
ps -e ps -ef ps -eF ps -ely
BSD構文を使用して、システム内のすべてのプロセスを確認してください。
ps ax ps axu
ただし、20分ごとに実行したい場合は、cron
システムを再起動したときにプロセスを再起動する必要はなく、以前の実行が何らかの理由でクラッシュしても将来のタスクを実行できます。