質問: nohupを使用してスクリプトを無期限に実行し続ける 私はlinuxを非常に使い始めており、sshを使用してwebサーバーにputtyするためだけに使用しています。私が抱えている問題はこれです:基本的に私は2つのphpスクリプトを持っています。一方のget_tweets.phpは、ツイッターのツイートstreaming apiを常にリッスンし、もう一方のparse_tweets.phpは、これらをdbにログインします。これらが機能するためには、継続的に実行し続ける必要があります。私は次のコマンドを使用して、バックグラウンドで実行し、それらを1日のほとんどの期間実行していることを確認しましたが、朝にコンピューターにログオンするたびに、scriptsが停止し、コマンドをもう一度実行する必要があります。nohup php my_script.php > /dev/null &私が使用しているコマンドに基づいてそれが正常であるかどうか疑問に思っています。nohupを使用すると、それらは無期限に実行されますか? cronジョブ?助けてくれてありがとう
回答: nohupでは、エラーもリダイレクトする必要があります。次のコマンドは、/ dev/nullにリダイレクトする出力とエラーを含むスクリプトを実行します。nohup php my_script.php >/dev/null 2>&1 & ただし、スクリプトは他の理由(スクリプトのエラー、oom-killerなど)で終了する可能性があります。したがって、システムのinitでデーモン化する必要があります(自動再起動をサポートしている場合-upstart、systemd、および他のユーザーがそれを実行できます)。または、スクリプトが実行されない場合は、チェック用のcronタスクを記述してスクリプトを再起動する必要があります。