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