php 多进程中的信号有关问题
php 多进程中的信号问题
1.以下代码sleep时间远小于20
<?php // 当子进程退出时,会触发该函数function sig_handler($sig) { switch($sig) { case SIGCHLD: echo 'SIGCHLD received'."n"; }} pcntl_signal(SIGCHLD, "sig_handler");// 注册子进程退出时调用的函数$start = time(); $sub_process_cnt = 20;for($i=0;$i<$sub_process_cnt;$i++) { sleep(1); $pid = pcntl_fork(); if ($pid == 0) { exit(-1); }}$status = 0; for ($k=0; $k<$sub_process_cnt; $k++) { pcntl_waitpid(-1, $status );}$end = time();$usage = $end - $start;print "End, use: ".$usage." seconds" ; ?>
3.解决办法:
pcntl_signal(SIGCHLD, SIG_IGN ); //忽略子进程返回信号
全部代码如下
<?php // 当子进程退出时,会触发该函数function sig_handler($sig) { switch($sig) { case SIGCHLD: echo 'SIGCHLD received'."n"; }} pcntl_signal(SIGCHLD, SIG_IGN );// 注册子进程退出时调用的函数$start = time(); $sub_process_cnt = 20;for($i=0;$i<$sub_process_cnt;$i++) { sleep(1); $pid = pcntl_fork(); if ($pid == 0) { exit(-1); }}$status = 0; for ($k=0; $k<$sub_process_cnt; $k++) { pcntl_waitpid(-1, $status );}$end = time();$usage = $end - $start;print "End, use: ".$usage." seconds" ; ?>

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

Häufige Fehler und Lösungen für Fork-Fehler in PHPPCNTL Wenn Sie die PHPPCNTL-Erweiterung für die Prozessverwaltung verwenden, stoßen Sie häufig auf das Problem eines Fork-Fehlers. Fork ist eine Methode zum Erstellen eines untergeordneten Prozesses. In einigen Fällen kann der Fork-Vorgang aufgrund einiger Fehler fehlschlagen. In diesem Artikel werden einige häufige Fork-Fehler und entsprechende Lösungen vorgestellt und spezifische Codebeispiele bereitgestellt, um den Lesern zu helfen, diese Probleme besser zu verstehen und damit umzugehen. 1. Mögliche Fehlermeldung bei unzureichendem Speicher: Kann

Analyse der Gründe, warum die Fork-Funktion der PHPPCNTL-Erweiterung fehlschlägt. In PHP bietet die PCNTL-Erweiterung eine Reihe von Funktionen zur Handhabung der Prozesssteuerung, darunter die Fork-Funktion, eine der am häufigsten verwendeten Funktionen. Mit der Fork-Funktion können wir einen untergeordneten Prozess erstellen, der eine bestimmte Aufgabe ausführt, was beim Schreiben gleichzeitiger Handler sehr nützlich ist. Bei Verwendung der erweiterten PCNTL-Fork-Funktion schlägt der Fork jedoch manchmal fehl. In diesem Artikel werden die Gründe für diese Situation analysiert und spezifische Codes angegeben.

Hinweis 1. Die Process-Klasse ist eine abstrakte Klasse (alle Methoden sind abstrakt), die den Prozess kapselt (dh das Programm ausführt). 2. Die Process-Klasse stellt Methoden für die Eingabe aus dem Prozess, die Ausführung von Ausgaben für den Prozess, das Warten auf den Abschluss des Prozesses, die Überprüfung des Beendigungsstatus des Prozesses und die Zerstörung des Prozesses bereit. Beispiel Processp=null;try{p=Runtime.getRuntime().exec("notepad.exe");p.waitFor();}catch(Exceptione){e.printStackTrace();}System.out.println(" Ich möchte gedruckt werden...

Teilen von Debugging-Fähigkeiten für ungültige Fork-Funktionen in PHPPCNTL In der PHP-Programmierung stellt die PCNTL-Erweiterung einige Prozesssteuerungsfunktionen bereit, beispielsweise die Fork-Funktion, die zum Erstellen eines neuen Prozesses verwendet werden kann. Während der Verwendung schlägt die Fork-Funktion jedoch manchmal fehl, was dazu führt, dass der untergeordnete Prozess nicht normal erstellt werden kann. In diesem Artikel finden Sie einige Debugging-Tipps, die uns bei der Lösung dieses Problems helfen sollen. Beginnen wir zunächst mit einem einfachen Beispiel. Nehmen wir an, wir haben den folgenden PHP-Code:

PHPPCNTL ist eine von PHP bereitgestellte Erweiterungsbibliothek zur Verarbeitung prozesssteuerungsbezogener Funktionen. Beim Schreiben von PHP-Mehrprozessprogrammen kann uns die PCNTL-Bibliothek dabei helfen, Unterprozesse zu erstellen, zwischen Prozessen zu kommunizieren und den Status des Prozesses zu verwalten. Bei Verwendung der PCNTL-Bibliothek kommt es jedoch manchmal vor, dass ein Fork-Fehler zu Programmausnahmen führt. In diesem Artikel wird das Problem genauer untersucht und eine Lösung sowie spezifische Codebeispiele bereitgestellt. Fehlerphänomen Bei der Verwendung der PHPPCNTL-Bibliothek zum Erstellen eines untergeordneten Prozesses haben wir

Leider kann ich keinen Artikel zur Lösung des Problems des Fork-Fehlers in PHPPCNTL bereitstellen. Wenn Sie weitere Fragen haben oder Hilfe benötigen, können Sie mir diese gerne mitteilen. Lassen Sie mich wissen, was ich für Sie tun kann!

图片消失如何解决先是图片文件上传$file=$_FILES['userfile']; if(is_uploaded_file($file['tmp_name'])){$query=mysql_query("INSERT INTO gdb_banner(image_src ) VALUES ('images/{$file['name'
