【发布时间】:2014-12-22 17:27:58
【问题描述】:
我的 Amazon Linux 上有一个 PHP 文件,看起来像
<?php
sleep(600);
我通过点击一个公开的 URL 来运行该文件。当文件运行时,我运行
ps aux
在我的 Linux 机器上,但我无法从列表中找到相应的进程。我也试过了
ps ax | grep *.php
不返回任何结果。
为什么我找不到我的 PHP 进程?
【问题讨论】:
-
因为您可能在 apache 中运行 PHP,这意味着您只会看到 Apache 的子代,而看不到 PHP 本身。您必须查看打开的文件并找到打开您的 .php 脚本文件的
httpd孩子。 -
它实际上是一个进程吗?你有一个刚刚运行的脚本吗?那么,当您运行 ps 命令时,一切都是在事后发生的吗?你有它作为每 1 分钟运行一次的 cron 吗?
-
@MarcB 在 httpd 中查看打开文件的命令是什么?
-
fuser,如果已安装 -
你可以使用这个命令: sudo lsof -c httpd 这显示了按名称打开的文件。 -c 选项搜索模式