您好,登錄后才能下訂單哦!
本篇內容介紹了“php進程中信號的實現方法”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
說明
1、信號是一種系統調用。通常用kill命令發送某個信號給某個進程。
2、具體有哪些信號可以在liunx/mac中運行kill -l查看。
實例
echo "parent progress pid:{$parentPid}\n"; // 定義一個信號處理函數 function sighandler($signo) { $pid = posix_getpid(); echo "{$pid} progress,oh no ,I'm killed!\n"; exit(1); } $pid = pcntl_fork(); if ( $pid == -1) { // 創建失敗 exit("fork progress error!\n"); } else if ($pid == 0) { // 子進程執行程序 // 注冊信號處理函數 declare(ticks=10); pcntl_signal(SIGINT, "sighandler"); $pid = posix_getpid(); while(true){ echo "{$pid} child progress is running!\n"; sleep(1); } exit("({$pid})child progress end!\n"); }else{ // 父進程執行程序 $childList[$pid] = 1; // 5秒后,父進程向子進程發送sigint信號. sleep(5); posix_kill($pid,SIGINT); sleep(5); } echo "({$parentPid})main progress end!\n";
“php進程中信號的實現方法”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。