PHP Cli 模式設(shè)置進(jìn)程名稱的方法
最近一直在優(yōu)化自己的 PHP 多進(jìn)程管理工具。GitHub 地址: https://github.com/fingerQin/phpthread
通過命令啟動之后,它在系統(tǒng)后臺運(yùn)行的名稱如下:
[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
大家可以看到。它會把我們執(zhí)行 PHP 腳本的整個命令路徑全部顯示出來。沒辦法偽裝成一個特殊的名稱,或者說優(yōu)雅的名稱。
查閱相關(guān)資料。其實 PHP 早已經(jīng)支持這種操作。
一、proctitle 擴(kuò)展實現(xiàn)
在 PHP 5.5.0 版本之前,只能通過 proctitle 擴(kuò)展實現(xiàn)。下載地址: http://pecl.php.net/package/proctitle
關(guān)于安裝這種 PHP C 擴(kuò)展。這里就不展示說明。關(guān)于 PHP C 擴(kuò)展的教程很多。
proctitle 擴(kuò)展安裝好之后。通過該擴(kuò)展提供的 setproctitle 方法實現(xiàn)自定義進(jìn)程名稱。
process.php
<?php setproctitle("NewProcess"); sleep(30);
此時我們命令運(yùn)行腳本:
$php process.php
腳本會睡眠 30 秒。此時我們另開一個終端去查看該進(jìn)程的名稱。會發(fā)現(xiàn)該擴(kuò)展名稱已經(jīng)被修改為:"NewProcess"。
由于該擴(kuò)展已經(jīng) 7 年未更新。所以,不推薦使用。
二、cli_set_process_title 方法實現(xiàn)
從 PHP 5.5.0 開始,PHP 已經(jīng)內(nèi)置了 cli_set_process_title 方法來解決這個重置進(jìn)程名稱的函數(shù)。我只能說,太貼心了。
使用也簡單。
process2.php
<?php cli_set_process_title("NewProcess"); sleep(30);
執(zhí)行該腳本之后,咱們依然別啟一個命令終端查看:
[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
我們可以看到。已經(jīng)生效了。
它就是如此簡單。以后我們可以將該進(jìn)程名稱優(yōu)雅化。也可以以此來偽裝隱藏自己??傊憧梢杂眠@個神奇的名字干你想干的事情。
總結(jié)
以上所述是小編給大家介紹的PHP Cli 模式設(shè)置進(jìn)程名稱的方法 ,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
相關(guān)文章
總結(jié)PHP如何獲取當(dāng)前主機(jī)、域名、網(wǎng)址、路徑、端口和參數(shù)等
這篇文章給大家分享了利用php如何獲取當(dāng)前域名或主機(jī)地址、網(wǎng)頁地址、網(wǎng)址參數(shù)、用戶代理、完整的url、包含端口號的完整url以及只取路徑等信息,有需要的朋友們可以參考借鑒。2016-09-09Laravel5.0+框架郵件發(fā)送功能實現(xiàn)方法圖文與實例詳解
這篇文章主要介紹了Laravel5.0+框架郵件發(fā)送功能實現(xiàn)方法,結(jié)合圖文與實例形式詳細(xì)分析了Laravel5.0+框架郵件發(fā)送相關(guān)原理、配置、實現(xiàn)方法及操作注意事項,需要的朋友可以參考下2019-04-04php判斷手機(jī)瀏覽還是web瀏覽,并執(zhí)行相應(yīng)的動作簡單實例
下面小編就為大家?guī)硪黄猵hp判斷手機(jī)瀏覽還是web瀏覽,并執(zhí)行相應(yīng)的動作簡單實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給的大家做個參考。一起跟隨小編過來看看吧2016-07-07ThinkPHP采用GET方式獲取中文參數(shù)查詢無結(jié)果的解決方法
這篇文章主要介紹了ThinkPHP采用GET方式獲取中文參數(shù)查詢無結(jié)果的解決方法,需要的朋友可以參考下2014-06-06