/ proc / [PID] / cmdline中的可执行文件的名称是什么?

时间:2019-02-07 19:29:27

标签: c pid proc

按照/ proc / [PID] / cmdline的手册页:此只读文件包含该过程的完整命令行,其中命令行参数作为一组由空字节('\ 0'),最后一个字符串后还有一个空字节。

我正在编写一个使用特定PID的C程序,我想通过打开cmdline文件来获取可执行文件的名称。但是,我不确定内容的含义,特别是可执行文件名称的确切位置在哪里?

例如,运行/ proc / 4404 / cmdline可提供以下输出:

/usr/bin/whoopsie-f

更多示例:

/sbin/init/splash
/lib/systemd/systemd--user
/usr/bin/dbus-daemon--system--address=systemd:--nopidfile--systemd-activation--syslog-only

如何准确解密此输出?可执行文件的名称是否恰好在固定位置(如果可以,请指出在哪里吗?)。我还看到了其他运行命令“ readfile exe”的线程,但是我试图在C中完成所有这些操作,并且特别需要利用cmdline文件来访问可执行文件的名称。

谢谢!

0 个答案:

没有答案