最近、仕事で時々 PHP サービスを再起動する必要がある状況に遭遇したため、スケジュールされた実行スクリプトを使用して PHP プロセスを再起動することを考え、Linux を使用して実行スクリプトを作成しました。手順は次のとおりです。
第 1 章 ステップ 1: スケジュールされたスクリプト ファイル cron.sh を作成します (ファイル名は任意に .sh で終わります)。
参照コードは次のとおりです (log.txt は、出力内容を簡単に表示するためのログ ファイルです):
echo "supervisorctl restart..." >> /var/www/html/log.txt start_time=$(date) echo $start_time >> /var/www/html/log.txt echo >> /var/www/html/log.txt supervisorctl restart all end_time=$(date) echo "supervisorctl end" >> /var/www/html/log.txt echo $end_time >> /var/www/html/log.txt echo >> /var/www/html/log.txt
私は、supervisorctl を使用して PHP プロセスを管理します (公式ドキュメントを確認できます) supervisorctl) を使用するため、もちろん他のメソッドも使用できます。
ここでは、supervisorctl の使用法を簡単に説明する例を示します。
まず、supervisorctl をインストールする必要があります。ターミナルで yum install -yvisor を実行します。
supervisorct は、デフォルトで /etc/supervisor ディレクトリにインストールされます;
完了後, /etc /supervisor パスの下に設定ファイル supervisord.conf があります。これを開くと、最後に [include] があり、次のようにファイルを設定します。 /etc/supervisor/conf.d ディレクトリに設定ファイル;
たとえば、ファイル test.conf を作成します (私の側は PHP laravel フレームワークによって実行される消費タスク キューです)。次のように:
files = /etc/supervisor/conf.d/*.confステップ 2:
次に、スケジュールされたタスクの内容を書き込み、ターミナル コンソールに vim /etc/crontab と入力して Enter キーを押し、ファイルに次のコードを書き込みます。 : [program:rabbitmq-comsumer-1]
process_name=%(program_name)s_1
command=php /var/www/html/app/artisan rabbitmq:consumer 1
autostart=true
autorestart=true
user=root
numprocs=1
redirect_stderr=true
stdout_logfile=/var/www/html/app/storage/logs/rabbitmq-comsumer-log-1.log
注: 0 */2 * * * (これはスケジュールされたタスク実行の構文です。2 時間ごとに実行します。つまり、0:00、2:00、...; に自動的に実行されます。関連する構文については Baidu を参照してください)
ファイルを保存して有効にします (このステップは非常に重要です!) 次のコマンドを実行します: 0 */2 * * * root /var/www/html/cron.sh
最後に、次のコマンドを使用して、変更された結果を表示できます。0 */2 * * * root / var/www/html/cron.sh が表示された場合は、変更が有効になったことを意味します:
crontab /ect/crontab概要:
上記は、直ちに実行する必要がない限り、Linux のスケジュールされた実行タスク スクリプトを使用して php サービスを再起動する方法です。この方法では、コマンドを手動で実行する必要はありません。 。 さらにエキサイティングなコンテンツについては、php 中国語 Web サイトの他の関連記事にご注目ください。
以上がLinux は PHP 起動タスク スクリプトを定期的に実行します (ステップ分析)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。