我知道有一个名为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 正在启动其他程序/脚本并退出。如果您知道脚本正在做什么,也许您可以尝试找到该进程。