您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關使用PHP怎么Cli 模式中設置進程名稱,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
通過命令啟動之后,它在系統后臺運行的名稱如下:
[root@localhost logs]# ps -ef|grep "Event/register"
root 1358 1356 0 19:50 ? 00:00:00 /usr/local/php72/bin/php cli.php Event/register
root 1482 1358 0 19:55 ? 00:00:00 /usr/local/php72/bin/php cli.php Event/register
root 1483 1358 0 19:55 ? 00:00:00 /usr/local/php72/bin/php cli.php Event/register
root 1484 1358 0 19:55 ? 00:00:00 /usr/local/php72/bin/php cli.php Event/register
root 1486 1358 0 19:55 ? 00:00:00 /usr/local/php72/bin/php cli.php Event/register
root 1487 1358 0 19:55 ? 00:00:00 /usr/local/php72/bin/php cli.php Event/register
root 1499 1240 0 19:56 pts/1 00:00:00 grep --color=auto Event/register
大家可以看到。它會把我們執行 PHP 腳本的整個命令路徑全部顯示出來。沒辦法偽裝成一個特殊的名稱,或者說優雅的名稱。
查閱相關資料。其實 PHP 早已經支持這種操作。
一、proctitle 擴展實現
在 PHP 5.5.0 版本之前,只能通過 proctitle 擴展實現。下載地址: http://pecl.php.net/package/proctitle
關于安裝這種 PHP C 擴展。這里就不展示說明。關于 PHP C 擴展的教程很多。
proctitle 擴展安裝好之后。通過該擴展提供的 setproctitle 方法實現自定義進程名稱。
process.php
<?php setproctitle("NewProcess"); sleep(30);
此時我們命令運行腳本:
$php process.php
腳本會睡眠 30 秒。此時我們另開一個終端去查看該進程的名稱。會發現該擴展名稱已經被修改為:"NewProcess"。
由于該擴展已經 7 年未更新。所以,不推薦使用。
二、cli_set_process_title 方法實現
從 PHP 5.5.0 開始,PHP 已經內置了 cli_set_process_title 方法來解決這個重置進程名稱的函數。我只能說,太貼心了。
使用也簡單。
process2.php
<?php cli_set_process_title("NewProcess"); sleep(30);
執行該腳本之后,咱們依然別啟一個命令終端查看:
[root@localhost public]# ps -ef|grep NewProcess
root 10489 1240 0 09:49 pts/1 00:00:00 NewProcess
root 10496 1221 0 09:50 pts/0 00:00:00 grep --color=auto NewProcess
看完上述內容,你們對使用PHP怎么Cli 模式中設置進程名稱有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。