如何使用 top 或 ps aux 查看正在運行哪些 php 腳本

如何使用 top 或 ps aux 查看正在運行哪些 php 腳本

是否有一個我可以運行的命令可以公開顯示 php 進程的腳本topps aux

答案1

由於您正在使用php-fpm,我只看到幾種方法來查看它正在做什麼/完成了什麼。

php-fpm 狀態頁面
您必須使用該pm.status_path指令來設定 php-fpm 狀態頁面,如文件

然後你需要告訴你的網頁伺服器將你使用的任何路徑傳遞pm.status_path給 php-fpm。此方法將完全取決於網頁伺服器。

完成後,您將造訪 php-fpm 狀態頁面並使用full查詢參數顯示所有工作人員(http://servername/status-phpfpm?full,如果您設定pm.status_pathstatus-phpfpm)。

也就是說,這不會向您顯示腳本已執行的完整歷史記錄,而只會顯示每個工作人員上次執行或目前正在執行的內容。

網頁伺服器日誌
檢查您的網頁伺服器的存取日誌。

他們會告訴你什麼已經運行,如果你的所有 PHP 都在給定目錄中,或者以.php擴展名結尾,那麼使用grep.根據您的文件根目錄、別名、URL 重寫和其他 Web 伺服器配置,您可能需要對這些日誌進行一些解釋才能找到給定腳本的完整檔案系統路徑。

此方法不會告訴您什麼現在正在運行,因為據我所知,大多數 Web 伺服器只寫入其訪問日誌請求已完成且 HTTP 回覆已傳送。這樣它就可以記錄大小和狀態代碼。

答案2

您可以使用的命令:

pstree | grep php
ps aux | grep php

-樹資訊

附註-附言訊息

“aux”開關向您顯示:

  • 所有使用者的進程
  • 向您展示以面向使用者的方式列出的進程(按使用者名稱)
  • 向您顯示所有進程,而不僅僅是連接到終端的進程。這將包括 crond、upowerd 等服務等進程。

grep--查詢資訊

相關內容