在我的 Linux 服务器上,我收到一个可疑的 perl 进程,该进程正在尝试使用 perl 脚本从我的服务器发送垃圾邮件。以下是输出ps -aux
。
apache 10078 0.0 0.0 4028 705 pts/1 S+ 15:50 0:00 [perl]
apache 10079 0.0 0.0 4023 433 pts/1 S+ 15:50 0:00 [perl]
apache 10080 0.0 0.0 4024 432 pts/1 S+ 15:50 0:00 [perl]
.
.
.
有超过 20 个这样的进程正在运行,每个进程都消耗了大量的套接字。
无法找到脚本的位置、路径和详细信息,因为那里只写了“perl”。我尝试使用 lsof 查看其打开的文件,它显示由我服务器上托管的一个网站打开的大量套接字和文件。但我无法从那里得到有关这是哪个脚本的线索,因此我无法跟踪并删除它。
谢谢
答案1
lsof -p
根据相关的进程 ID 将会告诉您在哪里查找...
例如,lsof -p 10078
将为您提供与该进程相关的所有打开文件的列表。查看输出并回过头来查看哪些文件正在使用中。
答案2
我找到了一个解决方案,使用它您可以知道系统/内核进程的确切路径,用括号括起来,如 [perl]
readlink -f /proc/{PID of process}/exe