如何在Linux中找出进程来自哪里?

How to find out where the process comes from in Linux?

目前,我发现我的 VPS 中有一些奇怪的进程。查看屏幕转储 ps 奇怪的进程是 bmzcvkboqqyrvccvxkeh。他们每次都会以不同的名称一次又一次地重新启动。我试过同时杀死他们,但几分钟后他们还是出来了。我怀疑我的 VPS 可能被某人入侵了。我想找出这些过程是如何产生的,以及哪个程序触发了它们。有什么命令或日志可以显示这样的信息吗?

您可以使用 $ pstree 显示 运行 个进程的树。如果它们太多,则通过管道传递到 grep$ pstree | grep <proc_name> -B 10(对于前面的 10 行,只需增加数字以查看上面的更多行)。

像上面 Jan Samek 所说的那样使用 pstree 来跟踪 PPID。很可能您的某个 Web 应用程序遭到黑客攻击,并且 shell 因 Web 应用程序中的漏洞而被入侵。检查 cron 以查看是否添加了新作业,您可以通过查看 Web 应用程序日志来找到易受攻击的应用程序 [apache/tomcat 无论您是什么 运行].