php - 如何查找正在运行的进程

标签 php linux


我在 godaddy 上共享了主机,三天前我注意到资源即将耗尽,因为有超过 20 个进程同时运行,并且所有进程都是“/usr/bin/php”。
我已尝试多次终止所有进程,但它们会在一段时间后运行回来。
起初我使用“php version 7”,消耗在CPU中,在我更改为“php version 5.6”之后,消耗变成在RAM中
我如何找出导致此问题的脚本?

ps -ef | grep php
2042512   270938    2967  1 10:58 ?        00:00:01 /usr/bin/php
2042512   271063    2967  3 10:58 ?        00:00:03 /usr/bin/php
2042512   271065    2967  1 10:58 ?        00:00:01 /usr/bin/php
2042512   271111    2967  2 10:58 ?        00:00:02 /usr/bin/php
2042512   271350    2967  2 10:58 ?        00:00:02 /usr/bin/php
2042512   271351    2967  2 10:58 ?        00:00:02 /usr/bin/php
2042512   271352    2967  2 10:58 ?        00:00:02 /usr/bin/php
2042512   271353    2967  2 10:58 ?        00:00:01 /usr/bin/php
2042512   271370    2967  3 10:58 ?        00:00:03 /usr/bin/php
2042512   272261    2967  4 10:59 ?        00:00:02 /usr/bin/php
2042512   272263    2967  3 10:59 ?        00:00:02 /usr/bin/php
2042512   272264    2967  3 10:59 ?        00:00:02 /usr/bin/php
2042512   272275    2967  2 10:59 ?        00:00:01 /usr/bin/php
2042512   272279    2967  2 10:59 ?        00:00:01 /usr/bin/php
2042512   272456    2967  4 10:59 ?        00:00:02 /usr/bin/php
2042512   272472    2967  4 10:59 ?        00:00:02 /usr/bin/php
2042512   272576    2967  4 10:59 ?        00:00:02 /usr/bin/php
2042512   272579    2967  3 10:59 ?        00:00:01 /usr/bin/php
2042512   272852    2967  4 10:59 ?        00:00:01 /usr/bin/php
2042512   272853    2967  4 10:59 ?        00:00:01 /usr/bin/php
2042512   272854    2967  5 10:59 ?        00:00:01 /usr/bin/php
2042512   272864    2967  5 10:59 ?        00:00:01 /usr/bin/php
2042512   272927    2967  5 10:59 ?        00:00:01 /usr/bin/php
2042512   272931    2967  4 10:59 ?        00:00:01 /usr/bin/php
2042512   272933    2967  4 10:59 ?        00:00:01 /usr/bin/php
2042512   273019    2967  5 10:59 ?        00:00:01 /usr/bin/php
2042512   273860    2967  4 11:00 ?        00:00:01 /usr/bin/php
2042512   273862    2967  4 11:00 ?        00:00:01 /usr/bin/php
2042512   273863    2967  4 11:00 ?        00:00:01 /usr/bin/php
2042512   273881    2967  0 11:00 ?        00:00:00 /usr/bin/php
2042512   273893    2967  1 11:00 ?        00:00:00 /usr/bin/php
2042512   274408    2967  4 11:00 ?        00:00:00 /usr/bin/php
2042512   274420  272471  0 11:00 pts/0    00:00:00 grep php

最佳答案

因为 php 是一个脚本,您是否查看过它正在运行哪些子进程。如果你这样做 ps -ef | grep php 并查看 php 的 PID,然后查看是否有任何子进程正在运行,子进程的命令行可能包含脚本本身的名称。你可以做一个 ps -ef | php | grep | awk '{print $1}' | xargs Kill -9 来摆脱它们(假设 pid 是 ps -ef 在你的盒子上返回的第一个字段)...希望这有帮助:-)

关于php - 如何查找正在运行的进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46692731/

相关文章:

php - 如何在PHP中自动优化mysql数据库?

php - 将混合字符串中的数字相乘

php - laravel 4 重定向到带有 2 个参数的路由

linux - 变量在 shell 脚本中不起作用

linux - 确定线程的堆栈大小和位置

linux - 我从 .profile 和 .bashrc 中删除了路径,但仍然存在于 $PATH 中

PHP AJAX登录,这种方法安全吗?

linux - 在程序集 ci20 段错误中提示用户输入

linux - bash: [: 1+1: 预期的整数表达式

php - 让 SSL 在 Xampp 中工作 - 访问禁止错误