从进程的 PID 中查找进程的文件名?

Zel*_*fan 5 command-line process

我想弄清楚是什么程序不断杀死网络指示器

$ nm-applet
** Message: applet now removed from the notification area
** Message: PID 31340 (we are 28924) sent signal 15, shutting down...
Run Code Online (Sandbox Code Playgroud)

PID 每次都会改变。有没有办法使用该 PID 来查找停止它的进程的名称?

Gil*_*il' 6

如果PID 31340,一个简单的ps uww 31340会告诉你。ls -l /proc/31340将向您显示更多信息,例如/proc/31340/exe是指向程序可执行文件的符号链接,以防名称不够用。

如果 PID 31340 不再运行,则为时已晚,除非您已安装某种日志记录软件。

这项工作最简单的日志软件是acct 安装帐户. 只需安装该软件包,它就会开始记录所有进程的名称。下次你想知道一些过去的 PID 时,运行

sudo dump-acct /var/log/account/pacct | grep 31340
Run Code Online (Sandbox Code Playgroud)

要更精确地匹配具有此 PID 的最后一个进程,您可以使用以下咒语:

sudo dump-acct /var/log/account/pacct | awk -F '|' '$10 ~ /^ *31340 / {print; quit}'
Run Code Online (Sandbox Code Playgroud)