Pelaksanaan Perintah Shell Serentak tanpa Menyekat
Banyak aplikasi memerlukan pelaksanaan tugas intensif secara pengiraan di latar belakang, terutamanya apabila mengendalikan interaksi pengguna. Dalam PHP, fungsi shell_exec biasanya digunakan untuk tujuan ini. Walau bagaimanapun, ia boleh menjadi masalah apabila tugas mengambil masa yang ketara untuk diselesaikan, kerana ia menyekat aliran pelaksanaan skrip PHP. Adakah terdapat cara untuk melaksanakan perintah shell tanpa menunggu ia selesai?
Pelaksanaan Serentak dengan Pengalihan Semula
Ya, adalah mungkin untuk melaksanakan arahan shell secara serentak tanpa menyekat skrip PHP. Ini boleh dicapai dengan mengalihkan output arahan dan aliran ralat kepada null. Begini cara anda boleh melakukannya:
shell_exec('php measurePerformance.php 47 844 [email protected] > /dev/null 2> /dev/null &');
Simbol & di hujung arahan memberitahu shell untuk melaksanakan arahan di latar belakang. > /dev/null dan 2> /dev/null redirections membuang output standard dan aliran ralat standard, dengan berkesan menyenyapkan sebarang output daripada arahan.
Faedah Pelaksanaan Serentak
Melaksanakan arahan secara serentak menawarkan beberapa faedah :
Nota: Mengubah hala strim stdout dan stderr ke /dev/null bermakna anda tidak akan dapat mengakses sebarang output atau mesej ralat daripada arahan. Jika anda perlu menangkap ini, gunakan kaedah alternatif seperti paip atau pemantauan proses.
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Perintah Shell Secara serentak dalam PHP tanpa Menyekat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!