SSHが再接続されると、プロセスIDは消えます。

SSHが再接続されると、プロセスIDは消えます。

VPSDigitalOceanと。Ubuntu Dropletnohup

 # 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システムを再起動したときにプロセスを再起動する必要はなく、以前の実行が何らかの理由でクラッシュしても将来のタスクを実行できます。

おすすめ記事