您好,登錄后才能下訂單哦!
本篇內容介紹了“php如何實現多進程和關閉進程的方法”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
php實現關閉進程的方法:首先創建一個PHP示例文件;然后通過“exec("kill -9 30699");”方法關閉指定進程即可。
本文操作環境:Windows7系統、PHP7.1、Dell G3電腦。
一、php實現多進程
PHP有個pcntl_fork的函數可以實現多進程,但要加載pcntl拓展,而且只有在linux下才能編譯這個拓展.
先代碼:
<?php $arr = ['30000000','500000000',['7000000000','8000000']]; foreach($arr as $key=>$item){ $pid[$key] = pcntl_fork(); if ($pid[$key] == -1) { die('could not fork'); } else if (!$pid[$key]) { if(is_array($item)){ foreach($item as $k=>$value) { $pid[$k] = pcntl_fork(); if(!$pid[$k]){ for($j=0;$j<$value;$j++){ $con1 = file_get_contents('./'.$value.'.txt'); file_put_contents('./'.$value.'.txt',$con1.'#'.$j); } exit; } } }else{ for($i=0;$i<$item;$i++){ $con = file_get_contents('./'.$item.'.txt'); file_put_contents('./'.$item.'.txt',$con.'#'.$i); } } exit; } } 把這個寫在test.php文件里。 在Linux中執行: php -f test.php 查詢進程:ps -ef | gerp test 就會查到4個進程
關閉進程:kill -9 pid【】
$pid[$k] = pcntl_fork();//這里的$pid[$k] 就是子進程的進程ID
<?php exec("kill -9 30699");
寫在test2.php 里在Linux中執行: php -f test.php 查詢進程就會發現 30699的進程被關閉了 參考url:https://zhidao.baidu.com/question/395877542327855005.html 注意:php實現多進程或關閉進程,都需要Linux用戶的權限,如果是用web(瀏覽器上),那需要給web端執行的權限。我這里用root執行Linux語句,所以有權限。
“php如何實現多進程和關閉進程的方法”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。