PHP CLI模式下的多程序應用

2021-07-05 13:23:10 字數 816 閱讀 7562

而且, 如果輸入資料非法, 而指令碼沒有檢測, 導致abort, 也會讓你很不開心.

那? 怎麼辦呢?

多程序….

為什麼呢?

優點:

1. 使用多程序, 子程序結束以後, 核心會負責**資源

2. 使用多程序,子程序異常退出不會導致整個程序thread退出. 父程序還有機會重建流程.

3. 乙個常駐主程序, 只負責任務分發, 邏輯更清楚.

then, 怎麼做呢?

接下來, 我們使用php提供的posix和pcntl系列函式, 來實現乙個php命令解析器, 主程序負責接受使用者輸入, 然後fork子程序執行, 並負責回顯子程序的結束狀態.

#!/bin/env php

<?php

* @filename fork.php

* @touch date wed 10 jun 2009 10:25:51 pm cst

* @author laruence* @license php license 3.0

* @version 1.0.0*/

/** 確保這個函式只能執行在shell中 */

if (substr(php_sapi_name(), 0, 3) !== 'cli')

/** 關閉最大執行時間限制, 在cli模式下, 這個語句其實不必要 */

set_time_limit(0);

$pid = posix_getpid(); //取得主程序id

$user = posix_getlogin(); //取得使用者名稱

echo <<

PHP CLI模式下的多程序應用

而且,如果輸入資料非法,而指令碼沒有檢測,導致abort,也會讓你很不開心.那?怎麼辦呢?多程序 為什麼呢?優點 1.使用多程序,子程序結束以後,核心會負責 資源 2.使用多程序,子程序異常退出不會導致整個程序thread退出.父程序還有機會重建流程.3.乙個常駐主程序,只負責任務分發,邏輯更清楚....

php cli模式下獲取程序ID和設定程序名稱

建立檔案ci.php 內容如下 得到當前程序id 函式 posix getpid echo 當前pid posix getpid while true 開啟乙個ssh視窗進行測試 root bj 39 tmp php cl.php 當前 8274開啟乙個新的ssh視窗檢視程序名稱 root bj 3...

PHP Cli 模式設定程序名稱的方法

最近一直在優化自己的 php 多程序管理工具。github 位址 通過命令啟動之後,它在系統後台執行的名稱如下 root localhost logs ps ef grep event register root nblwxiursp 1358 1356 0 19 50 00 00 00 usr l...