运行“sudo serivce httpd status”仅显示一个进程 ID。根进程。但是,如果我使用 top 或 ps,我可以看到比这更多的过程。Apache 处于 prefork 模式。
以前有没有人从 Apache2 看到过这种行为?
我想了解为什么 status 命令找不到其他进程。
运行“sudo serivce httpd status”仅显示一个进程 ID。根进程。但是,如果我使用 top 或 ps,我可以看到比这更多的过程。Apache 处于 prefork 模式。
以前有没有人从 Apache2 看到过这种行为?
我想了解为什么 status 命令找不到其他进程。
您在 qa 服务器中看到的其他进程是命令的结果:
如果您检查 /etc/init.d/functions 中状态函数的代码,您将看到这些结果是如何生成的,并测试为什么您只看到父 httpd 进程。
我认为必须使用 sudo 对 pidof 不起作用,请使用 root 用户重试。
有关系吗?你在问apache是否正在运行。该命令告诉您它是。如果你杀掉那个进程,其他进程也会死掉。
我怀疑该命令可以找到其他命令。它只是不能被打扰。
Apache 有一个负责启动子进程的控制进程。您从“服务 httpd 状态”获得的进程 ID 是控制进程的 PID。
我有同样的结果:
正如其他人所说,这是主进程ID;任何其他进程都是子进程。如果你需要这些信息,你应该安装mod_status,它允许 ExtendedStatus 并从 Apache 中提取各种简洁的信息。