未知的 PHP 脚本占用了 100% 的 CPU

未知的 PHP 脚本占用了 100% 的 CPU

我的系统后台正在运行一个未知的 PHP 脚本,我无法找到它,而且每次我杀死它时它都会重新生成。

来自 ps 的有关该过程的一些信息。

ps -Flww -p 280378
F S UID          PID    PPID  C PRI  NI ADDR SZ WCHAN    RSS PSR STIME TTY          TIME CMD
0 R root      280378    4725 99  80   0 -  6487 -      19328   2 15:47 ?        00:01:10 /usr/bin/php /var/www/bin/update-payments.php

/var/www/bin/update-payments.php不存在,那里甚至没有/var/www/bin目录。我不记得曾经用这个名字创建过 php 文件。

我如何才能找到这个过程的起源并停止它?

答案1

由于 PHP 需要 Web 服务器才能运行,因此您可以停止 Web 服务器以终止 PHP 进程。不过,在执行此操作之前,您可能需要检查正在运行的服务,看看是否有任何可疑之处:

systemctl list-units --all --type=service --no-pager

这将为您提供 100 多项服务的列表。查看哪些服务处于活动状态以及它们的作用。如果您不认识某项特定服务,请通过搜索引擎运行它以查看返回的内容。

如果您找不到任何可疑的东西,请关闭 Web 服务器并查看您的/var/log//var/log/apache目录,看看是否有任何东西抱怨 Web 服务器已经消失。

停止 Apache:

sudo service apache2 stop

停止 nginx:

sudo service nginx stop

希望这能帮助您追踪错误的过程。

答案2

这不是一个答案,但是我还没有足够的声誉来发表评论。

您的 /usr/bin/php 文件大小是否正确?它可能已被破坏并被有缺陷或恶意的文件替换?

您是否尝试过将 /usr/bin/php 文件重命名为其他名称,以查看该进程是否仍可启动?

相关内容