我有一个运行 Apache 服务器的 Ubuntu 系统。我发现一个进程cache.sh
,我认为它可能是一个加密挖掘进程,它一直在我的服务器上运行,消耗了高达 98% 的 CPU。这导致其他东西停止工作,如 MySQL 和 Apache。
我使用该top
命令发现它cache.sh
消耗了所有的 CPU。
我尝试终止该进程但一段时间后它又开始运行。
后来我了解到我可以暂停该进程而不是终止它,而且这种方法效果很好,但我仍然想找出它是什么并永久摆脱它。重新启动整个服务器后,该进程会自动启动。
该进程cache.sh
在www-data用户下运行,该用户还负责处理在同一用户下运行的apache进程。
我该怎么做才能找到该过程的根源并解决这个问题?
答案1
查看/proc
cache.sh 进程的目录。每个进程都有一个/proc/<pid>/
目录,用于保存以下信息:
- 慢性肾脏病– 链接到C当前瓦工作d 教区
- 自由度– 包含指向打开文件的链接的目录 (F伊莱d描述符
- 命令– 阅读它以查看使用什么命令行来启动进程
- 环境– 该进程的环境变量
- 根– 指向进程认为是其根目录的链接。
/
除非 chrooted,否则它将是根目录。
运行ps auxf
将显示谁分叉了什么,因此您可能会更好地了解是什么调用了您的进程。
正在运行lsof -p PID
显示正在运行的进程打开的文件。