您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“PHP中怎么進(jìn)行腳本設(shè)置及獲取進(jìn)程名”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“PHP中怎么進(jìn)行腳本設(shè)置及獲取進(jìn)程名”這篇文章吧。
今天來(lái)學(xué)習(xí)的是兩個(gè)非常簡(jiǎn)單的函數(shù),一個(gè)可以用來(lái)設(shè)置我們執(zhí)行腳本時(shí)運(yùn)行的進(jìn)程名。而另一個(gè)就是簡(jiǎn)單的獲取當(dāng)前運(yùn)行的進(jìn)程名。這兩個(gè)函數(shù)對(duì)于大量的腳本運(yùn)行代碼有很大的作用,比如我們需要 kill 掉某個(gè)進(jìn)程時(shí),可以直接使用我們自己定義的進(jìn)程名來(lái)進(jìn)行操作。
cli_set_process_title("test");
非常簡(jiǎn)單吧,只有一個(gè)參數(shù),那就是要定義的變量名稱(chēng)。在運(yùn)行起來(lái)后,我們使用 sleep() 讓程序掛載一段時(shí)間,然后再開(kāi)一個(gè)終端來(lái)查看當(dāng)前的進(jìn)程信息。
ps -ef | grep test # root 32172 31511 0 09:03 pts/0 00:00:00 test top -p 32172 -c # 32198 root 20 0 113100 18052 13088 S 0.0 0.2 0:00.00 test
可以看到,不管是使用 ps 還是使用 top ,都可以看到相應(yīng)的進(jìn)程名稱(chēng)為 test 的進(jìn)程。這樣,就完成了進(jìn)程名稱(chēng)的自定義。
echo "Process title: " . cli_get_process_title() . "\n"; // Process title: test
同樣的,獲取當(dāng)前進(jìn)程名的函數(shù)也非常地簡(jiǎn)單,直接調(diào)用即可。它就會(huì)正常輸出當(dāng)前執(zhí)行腳本的進(jìn)程名稱(chēng)。
如果我們沒(méi)有自定義進(jìn)程名稱(chēng)呢?這里就不會(huì)有任何的輸出,大家可以自己嘗試一下。
最后來(lái)說(shuō)說(shuō)這兩個(gè)函數(shù)的注意事項(xiàng)。
一是如果使用的是 Mac OS 系統(tǒng),會(huì)提示:
// Warning: cli_set_process_title(): cli_set_process_title had an error: Not initialized correctly
也就是說(shuō)這兩個(gè)函數(shù)在 Mac 下面是無(wú)法正常使用的,我的測(cè)試環(huán)境是 CentOS ,是可以正常使用的。Windows 環(huán)境沒(méi)有進(jìn)行測(cè)試,正常情況下也很少會(huì)有人在 Windows 環(huán)境下掛后臺(tái)執(zhí)行腳本,所以有興趣的同學(xué)可以自己測(cè)試下。
二是進(jìn)程名可以是中文!??!是不是感覺(jué)很高大上。
三是這兩個(gè)函數(shù)僅針對(duì) CLI 運(yùn)行環(huán)境。也就是說(shuō),在 CGI 正常網(wǎng)頁(yè)運(yùn)行的狀態(tài)下這兩個(gè)函數(shù)是沒(méi)有效果的。
以上是“PHP中怎么進(jìn)行腳本設(shè)置及獲取進(jìn)程名”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。