获取 ps -ef 中未列出的进程的 pid

获取 ps -ef 中未列出的进程的 pid

我知道有一个名为blt.pl在特定机器上运行的进程,但不太确定哪个用户在运行它。

我已经尝试过了ps -ef | grep -i blt.pl,但显然没有找到。

有什么方法可以让我获取进程的 pidblt.pl吗?

答案1

你确实应该说说你的操作系统是什么;你的操作系统(在很大程度上)决定了你的工具集。

也就是说,大多数 UNIXish 的东西都有pgrep。你可以运行它。

如果您使用的是 MacOS X 或其他 BSDish 系统,ps -ef这不是您想要的。请尝试:ps -auwwx | grep bit.pl

您可以在 Linux 上对此进行稍微的改动:ps auwwx | grep bit.pl 请注意 Linux 版本的命令中没有破折号。

正如其他人所说,这应该可以发现您的进程。如果您看不到它,您如何确定它正在运行?它是否正在写入文件?如果是,lsof或之类的工具fuser可能会有所帮助。甚至运行lsof并 grep bit.pl 也可能会有所帮助。

你基本上是在说“我相信这段代码在运行,并且在我不注意的时候没有死掉,这比我对它的信念更坚定ps

我能想到的唯一其他情况是,如果您的计算机“被拥有”——您有一个内核模块出于某种原因隐藏了此特定代码。如果是这种情况(可能,但不太可能会用 perl 脚本来处理),您的整个系统现在都会受到质疑。

答案2

它是什么操作系统?据我所知,如果执行“ps -ef | grep -i blt.pl”时进程正在运行,它应该会显示出来。它是什么类型的进程?它是一个非常短暂的进程吗?如果是这样,您可以使用一些脚本进行监控。

或者可能是脚本 blt.pl 正在启动其他程序/脚本并退出。如果您知道脚本正在做什么,也许您可​​以尝试找到该进程。

相关内容