Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Adakah anda tahu bagaimana untuk melaksanakan pelbagai proses menggunakan PHP?

Adakah anda tahu bagaimana untuk melaksanakan pelbagai proses menggunakan PHP?

WBOY
WBOYke hadapan
2022-12-15 16:48:005879semak imbas

Artikel ini membawakan anda pengetahuan yang berkaitan tentang PHP, yang terutamanya memperkenalkan isu yang berkaitan dengan pelbagai proses Walaupun PHP adalah bahasa terbaik di dunia, untuk PHPers , saya masih baru dalam pelbagai proses dan pengurusan proses; mari kita lihat bersama-sama, saya harap ia akan membantu semua orang.

Adakah anda tahu bagaimana untuk melaksanakan pelbagai proses menggunakan PHP?

Pembelajaran yang disyorkan: "Tutorial Video PHP"

Fungsi proses asli PHP

Walaupun PHP adalah bahasa terbaik di dunia, bagi PHP, pengurusan berbilang proses dan proses masih agak asing. Artikel ini akan menerangkan cara melaksanakan pelbagai proses menggunakan kod asli PHP.

Adakah anda tahu bagaimana untuk melaksanakan pelbagai proses menggunakan PHP?

Mula-mula kita perlu memahami fungsi PHP untuk melaksanakan pelbagai proses, seperti pcntl_fork, pcntl_wait, pcntl_waitpid, dll.

pcntl_fork ( void ) : int

Fungsi fungsi ini adalah untuk mencipta proses anak dan mengembalikan ID proses jenis int Kedua-dua proses induk dan proses anak meneruskan pelaksanaan dari kedudukan garpu ke bawah .

Apabila proses anak berjaya dibuat, PID proses anak yang dijana dikembalikan dalam urutan pelaksanaan proses induk dan 0 dikembalikan dalam urutan pelaksanaan proses anak. Apabila penciptaan gagal, -1 dikembalikan dalam konteks proses induk, proses anak tidak dibuat dan ralat PHP dibangkitkan.

pcntl_wait ( int &$status [, int $options = 0 ] ) : int

Fungsi fungsi ini adalah untuk menunggu atau mengembalikan status proses anak garpu. Fungsi ini menangguhkan pelaksanaan proses semasa sehingga proses kanak-kanak keluar atau menerima isyarat yang memerlukan proses semasa diganggu atau fungsi pengendalian isyarat dipanggil. Jika proses anak telah keluar apabila fungsi ini dipanggil, fungsi ini kembali serta-merta.

Fungsi ini mengembalikan nombor proses anak yang keluar, -1 apabila ralat, atau 0 jika WNOHANG disediakan sebagai pilihan dan tiada proses anak tersedia.

Adakah anda tahu bagaimana untuk melaksanakan pelbagai proses menggunakan PHP?

pcntl_waitpid ( int $pid , int &$status [, int $options = 0 ] ) : int

Fungsi fungsi ini adalah untuk menunggu atau mengembalikan status proses anak garpu. Memanggil fungsi ini akan menggantung pelaksanaan proses semasa sehingga proses dengan nombor proses yang ditentukan oleh parameter pid keluar, atau isyarat diterima untuk mengganggu proses semasa atau memanggil fungsi pengendalian isyarat.

Adakah anda tahu bagaimana untuk melaksanakan pelbagai proses menggunakan PHP?

pcntl_waitpid () Mengembalikan ID proses proses anak yang keluar, - 1 apabila ralat, 0 jika WNOHANG disediakan sebagai pilihan dan tiada proses anak tersedia.

pcntl_signal ( int $signo , callback $handler [, bool $restart_syscalls = true ] ) : bool

Fungsi fungsi ini adalah untuk memasang pemproses isyarat dan memasang pemproses isyarat baharu untuk isyarat yang ditentukan oleh signo.

signo ialah nombor isyarat.

pengendali ialah pengendali isyarat, yang boleh menjadi fungsi atau kaedah yang dicipta oleh pengguna, atau ia boleh menjadi sistem sentiasa hidup SIG_IGN (abaikan pengendali isyarat) atau SIG_DFL (pengendali isyarat lalai).

restart_syscalls menentukan sama ada permulaan semula panggilan sistem tersedia apabila isyarat tiba.

Nilai pulangan fungsi ialah jenis bool, mengembalikan benar apabila berjaya dan palsu apabila gagal.

2. PHP melaksanakan kod berbilang proses

Adakah anda tahu bagaimana untuk melaksanakan pelbagai proses menggunakan PHP?

Adakah anda tahu bagaimana untuk melaksanakan pelbagai proses menggunakan PHP?

Disyorkan kajian: " Tutorial video PHP

Atas ialah kandungan terperinci Adakah anda tahu bagaimana untuk melaksanakan pelbagai proses menggunakan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:juejin.im. Jika ada pelanggaran, sila hubungi admin@php.cn Padam