最近、仕事で時々 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
次に、スケジュールされたタスクの内容を書き込み、ターミナル コンソールに 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 * * * root /var/www/html/cron.sh
crontab /ect/crontab
上記は、直ちに実行する必要がない限り、Linux のスケジュールされた実行タスク スクリプトを使用して php サービスを再起動する方法です。この方法では、コマンドを手動で実行する必要はありません。 。さらにエキサイティングなコンテンツについては、php 中国語 Web サイトの他の関連記事にご注目ください。
以上がLinux は PHP 起動タスク スクリプトを定期的に実行します (ステップ分析)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。