如何追踪运行时间过长的流程?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (6)

我有一个启用了防火墙和安全通知的VPS。我一直收到这样的电子邮件:

Time:         Wed Jun 19 19:01:54 2019 -0500
Account:      user
Resource:     Process Time
Exceeded:     7248 > 3600 (seconds)
Executable:   /opt/cpanel/ea-php72/root/usr/sbin/php-fpm
Command Line: php-fpm: pool domain_com                           
PID:          16374 (Parent PID:9915)
Killed:       No

因此,出于某种原因,我有一个脚本显然已经运行了2个多小时不间断。我没有任何应该这样做的东西。

我经常收到这样的通知。如何使用此信息来追踪导致此问题的具体原因?

任何信息将不胜感激。谢谢!

提问于
用户回答回答于

要获得有关进程的更多信息,我将使用Htop工具。这是一篇了解如何使用htop和ps管理进程的好文章

Lsof(列表打开文件)将告诉您有关该进程使用的文件的更多信息。

你可以得到htop和lsof

sudo apt install htop lsof -y

本文指出:该消息来自第三方CSF / LFD应用程序,表明PHP-FPM进程的运行时间超过了为CSF / LFD检测期配置的最大时间。它表明该过程没有被杀死,因此您不应该有流量损失。

因此,您可能需要检查有问题的帐户的PHP-FPM错误日志,以查看是否发现任何特定的错误消息。它位于:

/home/$username/logs/domain_tld.php.error.log

看起来您的具体问题尚未在该表单上得到解决。所以,你可能想尝试strace。它处理由给定进程进行的系统调用,包括所有读写操作和os函数调用。您可以在要跟踪的程序之前在命令行上激活它,或者通过在htop中选择的进程上按s来附加到正在运行的进程。

扫码关注云+社区

领取腾讯云代金券