我如何才能找到某个进程的起源并永久停止它?

我如何才能找到某个进程的起源并永久停止它?

我有一个运行 Apache 服务器的 Ubuntu 系统。我发现一个进程cache.sh,我认为它可能是一个加密挖掘进程,它一直在我的服务器上运行,消耗了高达 98% 的 CPU。这导致其他东西停止工作,如 MySQL 和 Apache。

我使用该top命令发现它cache.sh消耗了所有的 CPU。

我尝试终止该进程但一段时间后它又开始运行。

后来我了解到我可以暂停该进程而不是终止它,而且这种方法效果很好,但我仍然想找出它是什么并永久摆脱它。重新启动整个服务器后,该进程会自动启动。

该进程cache.sh在www-data用户下运行,该用户还负责处理在同一用户下运行的apache进程。

我该怎么做才能找到该过程的根源并解决这个问题?

答案1

查看/proccache.sh 进程的目录。每个进程都有一个/proc/<pid>/目录,用于保存以下信息:

  • 慢性肾脏病– 链接到C当前工作d 教区
  • 自由度– 包含指向打开文件的链接的目录 (F伊莱d描述符
  • 命令– 阅读它以查看使用什么命令行来启动进程
  • 环境– 该进程的环境变量
  • – 指向进程认为是其根目录的链接。/除非 chrooted,否则它将是根目录。

运行ps auxf将显示谁分叉了什么,因此您可能会更好地了解是什么调用了您的进程。

正在运行lsof -p PID显示正在运行的进程打开的文件。

来源:Linux:如何知道一个进程在哪里启动以及如何启动?

相关内容