對于使用Linux系統(tǒng)的PHP開發(fā)者來說,經(jīng)常需要查看PHP進程的運行情況,以便于進行一些調(diào)試和監(jiān)控工作。下面介紹幾種方法來查看PHP進程,幫助大家更好地了解系統(tǒng)運行情況。
方法一:使用ps命令
ps aux | grep php
該命令可以列出當前運行的所有進程,通過grep篩選出包含“php”的進程,從而得到PHP相關的進程信息。例如:
user 345 0.0 0.5 123456 7890 ? S 00:00:00 php my_script.php
其中,“user”表示運行該進程的用戶,“345”表示進程ID,“0.0”表示CPU使用率,“0.5”表示內(nèi)存使用率,“123456”表示內(nèi)存使用大小,“7890”表示虛擬內(nèi)存使用大小,“S”表示進程狀態(tài),“00:00:00”表示進程運行時間,“php my_script.php”表示進程命令。通過這些信息可以對PHP進程進行比較全面地了解。
方法二:使用top命令
top -p `pgrep php`
該命令可以實時顯示當前進程的使用情況,包括CPU、內(nèi)存、IO、進程運行時間等。通過該命令,可以實時查看PHP進程的運行情況,幫助開發(fā)者更好地了解系統(tǒng)運行狀況。例如:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 345 user 20 0 123456 7890 1234 S 0.0 0.5 0:00.00 php my_script.php
其中,“PID”表示進程ID,“USER”表示運行該進程的用戶,“%CPU”表示進程使用CPU的百分比,“%MEM”表示進程使用內(nèi)存的百分比,“TIME+”表示進程運行時間,“COMMAND”表示進程命令。
方法三:使用systemctl命令
systemctl status php-fpm.service
該命令可以查看PHP-FPM服務的狀態(tài),包括運行情況、PID、內(nèi)存使用等。對于使用PHP-FPM的開發(fā)者來說,這是一種比較常用的方法。例如:
● php-fpm.service - The PHP FastCGI Process Manager Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2020-06-02 12:34:56 CST; 10h ago Main PID: 1234 (php-fpm) Status: "Processes active: 0, idle: 20, Request: 256, RemoteAddr: 127.0.0.1" Tasks: 21 (limit: 32768) Memory: 12.3M CGroup: /system.slice/php-fpm.service ├─ 1234 php-fpm: master process (/etc/php-fpm.conf) ├─ 5678 php-fpm: pool www └─91011 php-fpm: pool www
其中,“php-fpm.service”表示服務名,“Main PID”表示主進程ID,“Status”表示服務狀態(tài),“Memory”表示占用內(nèi)存大小,“CGroup”表示進程組信息。
方法四:使用lsof命令
lsof -i :9000
該命令可以查看指定端口號上的進程信息,包括進程ID、協(xié)議、用戶、內(nèi)存使用等。在PHP-FPM使用9000端口的情況下,該命令可以查看PHP-FPM進程信息。例如:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME php-fpm 1234 root 6u IPv4 12345 0t0 TCP localhost:9000 (LISTEN) php-fpm 5678 www 0u IPv4 12345 0t0 TCP localhost:9000->localhost:34223 (ESTABLISHED)
其中,“COMMAND”表示命令名,“PID”表示進程ID,“USER”表示運行該進程的用戶,“FD”表示文件描述符,“TYPE”表示文件類型,“DEVICE”表示設備號,“SIZE/OFF”表示文件大小或偏移量,“NODE”表示節(jié)點名,“NAME”表示文件名。
綜上所述,對于Linux系統(tǒng)下的PHP開發(fā)者來說,查看PHP進程是一項非常重要的工作。通過上述方法,可以更好地了解進程的使用情況,從而進行調(diào)試和優(yōu)化工作。