Jadual Kandungan
回复内容:
Rumah pembangunan bahagian belakang tutorial php mysql - 关于开启PHP多进程与它们之间的通信问题

mysql - 关于开启PHP多进程与它们之间的通信问题

Jun 06, 2016 pm 08:45 PM
apache linux mysql nginx php

我们通常在Linux上调用PHP来执行定时任务,如php -f xxx.php,有时候需要先有一个PHP父进程,然后开启多个PHP子进程来做同一件事...

如果这时候当其中一个子进程结束或出现问题时通知父进程,父进程就可以做一些事,如关闭其它正在运行的进程等等吧....

想了解一下大家在此类问题上是怎么实现或处理的?

回复内容:

我们通常在Linux上调用PHP来执行定时任务,如php -f xxx.php,有时候需要先有一个PHP父进程,然后开启多个PHP子进程来做同一件事...

如果这时候当其中一个子进程结束或出现问题时通知父进程,父进程就可以做一些事,如关闭其它正在运行的进程等等吧....

想了解一下大家在此类问题上是怎么实现或处理的?

我一般用php daemon来做,一个进程作为父进程一直跑着(可能是个while + sleep),父进程判断时间到了,就fork一个/多个子进程来处理业务,这时父进程监听子进程退出信号,子进程业务执行完了就退出了,这时父进程会检测到,直到所有子进程退出。

一个原则就是父进程尽可能简单,不要处理业务逻辑,从而保证父进程的稳定性。子进程去处理业务,即使出现FataErr也不会导致所有进程退出。

还有个小提示:信号是可以被覆盖的,也就是说两个子进程退出时,父进程可能只收到一个信号,这时父进程应该用while循环来处理子进程退出事件

http://cn2.php.net/manual/zh/function.pcntl-waitpid.php
php手册还是非常有学习价值的

题主会了吗?我这边用了下pcntl这个方法,貌似要捕获子进程状态的时候父进程就会被阻塞,不过PHP从5.3之后开始支持多线程了

用筷子炒菜不知道是什么样的感觉?

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Siaran Alibaba dan Membuka Model Inferensi QWQ-32B Tongyi QWQ-32B, dengan prestasi yang setanding dengan DeepSeek-R1 Siaran Alibaba dan Membuka Model Inferensi QWQ-32B Tongyi QWQ-32B, dengan prestasi yang setanding dengan DeepSeek-R1 Mar 12, 2025 pm 01:00 PM

Model kesimpulan sumber terbuka Alibaba Cloud Tongyi QWQ-32B, dengan prestasi yang setanding dengan DeepSeek-R1! Model ini telah mencapai peningkatan yang ketara dalam matematik, kod dan keupayaan umum, dengan tahap prestasi yang setanding dengan model DeepSeek-R1 yang terkemuka di industri. Berita ini merangsang harga saham Alibaba meningkat dengan ketara, sekali meningkat sebanyak lebih daripada 8%. Alibaba Cloud mengesahkan dalam beberapa ujian penanda aras yang berwibawa bahawa prestasi QWQ-32B QWQ-32B jauh melebihi OpenAI-O1-Mini dan setanding dengan DeepSeek-R1 dalam prestasi keseluruhan. Apa yang lebih luar biasa ialah model telah mengurangkan prestasinya sambil mengekalkan prestasi yang tinggi.

Strategi Penyebaran Tempatan DeepSeek yang paling mudah untuk keseluruhan rangkaian: Buat Pembantu AI Eksklusif Strategi Penyebaran Tempatan DeepSeek yang paling mudah untuk keseluruhan rangkaian: Buat Pembantu AI Eksklusif Mar 12, 2025 pm 01:09 PM

Artikel ini menyediakan tutorial super mudah untuk penempatan tempatan DeepSeek untuk membantu anda dengan mudah membuat pembantu AI eksklusif. Tidak perlu bergantung pada perkhidmatan awan, pemasangan dan konfigurasi boleh disiapkan pada sistem Windows, MacOS dan Linux dalam beberapa langkah sahaja. DeepSeek mempunyai keperluan perkakasan tertentu (memori 16GB dan pemacu keadaan pepejal disyorkan). Tutorial meliputi penyediaan, pemasangan, konfigurasi, operasi dan langkah -langkah pembelajaran berterusan pilihan, yang membolehkan anda dengan cepat mengalami ciri -ciri kuat penjanaan teks DeepSeek, penulisan kod, dan terjemahan. Mulakan tangan anda sekarang dan dapatkan AI eksklusif anda!

PHP atau Laravel mana yang lebih baik? PHP atau Laravel mana yang lebih baik? Mar 27, 2025 pm 05:31 PM

PHP dan Laravel tidak dapat dibandingkan secara langsung, kerana Laravel adalah rangka kerja berasaskan PHP. 1.Php sesuai untuk projek kecil atau prototaip cepat kerana ia mudah dan langsung. 2. Laravel sesuai untuk projek besar atau pembangunan yang cekap kerana ia menyediakan fungsi dan alat yang kaya, tetapi mempunyai lengkung pembelajaran yang curam dan mungkin tidak sebaik php tulen.

Bagaimana cara menetapkan kebenaran secara automatik UnixSocket selepas sistem dimulakan semula? Bagaimana cara menetapkan kebenaran secara automatik UnixSocket selepas sistem dimulakan semula? Mar 31, 2025 pm 11:54 PM

Bagaimana untuk menetapkan keizinan UnixSocket secara automatik selepas sistem dimulakan semula. Setiap kali sistem dimulakan semula, kita perlu melaksanakan perintah berikut untuk mengubahsuai keizinan UnixSocket: sudo ...

Akses fail tapak WordPress adalah terhad: Mengapa fail .txt saya tidak boleh diakses melalui nama domain? Akses fail tapak WordPress adalah terhad: Mengapa fail .txt saya tidak boleh diakses melalui nama domain? Apr 01, 2025 pm 03:00 PM

Akses fail tapak WordPress adalah terhad: Menyelesaikan masalah sebab mengapa fail .txt tidak dapat diakses baru -baru ini. Sebilangan pengguna menghadapi masalah ketika mengkonfigurasi nama domain perniagaan program mini: � ...

Halaman ini kosong selepas PHP disambungkan ke MySQL. Apakah sebab fungsi mati () tidak sah? Halaman ini kosong selepas PHP disambungkan ke MySQL. Apakah sebab fungsi mati () tidak sah? Apr 01, 2025 pm 03:03 PM

Halaman ini kosong selepas PHP menghubungkan ke MySQL, dan sebab mengapa fungsi mati () gagal. Semasa mempelajari hubungan antara pangkalan data PHP dan MySQL, anda sering menemui beberapa perkara yang membingungkan ...

Pengunci optimis PHP digabungkan dengan baki potongan urus niaga gagal: Bagaimana untuk memastikan bahawa baki itu ditolak dengan betul dalam situasi konkurensi? Pengunci optimis PHP digabungkan dengan baki potongan urus niaga gagal: Bagaimana untuk memastikan bahawa baki itu ditolak dengan betul dalam situasi konkurensi? Mar 31, 2025 pm 11:42 PM

Penjelasan terperinci mengenai masalah menolak baki dalam kombinasi dengan kunci dan urus niaga optimistik PHP dalam artikel ini akan menganalisis secara terperinci potongan baki menggunakan PHP, kunci optimis dan urus niaga pangkalan data, hanya ...

Mengapa ralat berlaku semasa memasang pelanjutan menggunakan PECL dalam persekitaran Docker? Bagaimana menyelesaikannya? Mengapa ralat berlaku semasa memasang pelanjutan menggunakan PECL dalam persekitaran Docker? Bagaimana menyelesaikannya? Apr 01, 2025 pm 03:06 PM

Punca dan penyelesaian untuk kesilapan Apabila menggunakan PECL untuk memasang sambungan dalam persekitaran Docker Apabila menggunakan persekitaran Docker, kami sering menemui beberapa sakit kepala ...

See all articles