如何使用 top 或 ps aux 查看正在运行的 php 脚本

如何使用 top 或 ps aux 查看正在运行的 php 脚本

有没有一个命令可以运行,可以揭示脚本正在显示 php 进程topps aux

答案1

由于您正在使用php-fpm,我只看到几种方法来查看它正在做什么/完成了什么。

php-fpm 状态页面
您必须使用指令配置 php-fpm 状态页面pm.status_path,如文档

然后您需要告诉您的 Web 服务器将您使用的任何路径传递pm.status_path给 php-fpm。该方法将完全取决于 Web 服务器。

完成后,您将访问 php-fpm 状态页面并使用full查询参数显示所有工作者(http://servername/status-phpfpm?full如果您设置pm.status_pathstatus-phpfpm)。

也就是说,这不会向您显示已运行脚本的完整历史记录,而只会显示每个工作程序上次运行或当前正在运行的脚本。

Web 服务器日志
检查您的网络服务器的访问日志。

它们会向您显示已运行的内容,并且如果您的所有 PHP 都在给定目录中,或者以.php扩展名结尾,则使用 应该相当容易找到grep。根据您的文档根目录、别名、URL 重写和其他 Web 服务器配置,您可能需要对这些日志进行一些解释才能找到给定脚本的完整文件系统路径。

此方法不会显示现在运行,因为据我所知,大多数 Web 服务器仅写入其访问日志请求已完成,并且已发送 HTTP 回复。这样它就可以记录大小和状态代码。

答案2

您可以使用的命令:

pstree | grep php
ps aux | grep php

pstree-pstree 信息

附言-ps 信息

“aux”开关显示:

  • 所有用户进程
  • 以用户为导向的方式(按用户名)列出流程
  • 显示所有进程,而不仅仅是连接到终端的进程。这将包括 crond、upowerd 等服务进程。

grep--grep 信息

相关内容