按照/ 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文件来访问可执行文件的名称。
谢谢!