Baru-baru ini, saya menghadapi situasi di mana saya perlu memulakan semula perkhidmatan PHP dari semasa ke semasa di tempat kerja, jadi saya terfikir untuk menggunakan skrip pelaksanaan berjadual untuk memulakan semula proses PHP, jadi saya menggunakan Linux untuk menulis skrip pelaksanaan langkah-langkah adalah seperti berikut:
Bab Langkah pertama: Buat fail skrip berjadual cron.sh (nama fail berakhir dengan .sh sesuka hati).
Kod rujukan adalah seperti berikut (log.txt ialah fail log untuk melihat kandungan output yang mudah):
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
Saya menggunakan supervisorctl untuk menguruskan proses php di sini (untuk kegunaan daripada supervisorctl, anda boleh menyemak Dokumen rasmi), sudah tentu kaedah lain juga boleh digunakan.
Berikut ialah contoh untuk menggambarkan secara ringkas penggunaan supervisorctl.
Mula-mula anda perlu memasang supervisorctl, laksanakan yum install -y supervisor di terminal,
supervisorct dipasang dalam direktori /etc/supervisor secara lalai
Selepas selesai , dalam /etc Terdapat fail konfigurasi supervisord.conf di bawah laluan /supervisor Selepas membukanya, terdapat [include] di hujung dan konfigurasikan fail seperti berikut:
files = /etc/supervisor/conf.d/*.conf
Kemudian ia boleh. berada dalam direktori /etc/supervisor/conf.d Cipta fail konfigurasi anda sendiri; kandungan fail dikonfigurasikan seperti berikut:
[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
Seterusnya, tulis kandungan tugas yang dijadualkan, masukkan vim /etc/crontab dalam konsol terminal dan tekan Enter; kod berikut dalam fail:
Nota: 0 */2 * * * (Ini ialah sintaks pelaksanaan tugas berjadual. Saya melaksanakannya setiap 2 jam, iaitu 0:00, 2: 00,...dilaksanakan secara automatik; sila rujuk Baidu untuk sintaks yang berkaitan)0 */2 * * * root /var/www/html/cron.sh
Simpan fail dan kemudian lakukannya (langkah ini sangat penting!) Laksanakan arahan berikut:
Akhir sekali, anda boleh menggunakan arahan berikut untuk melihat hasil yang diubah suai Jika anda melihat 0 */2 * * * root /var/www/html/cron.sh bermakna ia mempunyai berkuat kuasa:crontab /ect/crontab
crontab -l
Di atas adalah menggunakan skrip tugas pelaksanaan berjadual linux untuk memulakan semula php Selagi perkhidmatan tidak memerlukan pelaksanaan segera, tidak perlu secara manual laksanakan arahan sekali dan untuk semua. Untuk kandungan yang lebih menarik, sila beri perhatian kepada artikel lain yang berkaitan di laman web php Cina!
Atas ialah kandungan terperinci Linux kerap melaksanakan skrip tugas permulaan PHP (analisis langkah). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!