linux c 获取进程 可执行文件路径

目录

获取当前进程 可执行文件路径

获取指定id进程 可执行文件路径


获取当前进程 可执行文件路径

#include <stdio.h>
#include <unistd.h>
#include <linux/limits.h>
 
int main() {
	char dir[PATH_MAX] = {0};
	int n = readlink("/proc/self/exe",dir,PATH_MAX);
	printf("PATH_MAX: %d\n",PATH_MAX);
	printf("readlink return: %d\n",n);
	printf("dir: %s\n",dir);
 
	return 0;
}

上面文件生成的可执行文件是 /home/yasi/tmp/t,执行结果如下:

PATH_MAX: 4096
readlink return: 16
dir: /home/yasi/tmp/t

获取指定id进程 可执行文件路径

查看 指定进程10010的 可执行文件路径

#include <stdio.h>
#include <unistd.h>
#include <linux/limits.h>
 
int main() {
	char dir[PATH_MAX] = {0},path[20]={0};
    int pid=10010,n;

    sprintf(path,"proc/%d/exe",pid);
    n = readlink(path,PATH_MAX);
    printf("readlink return: %d\n",n);
    printf("dir: %s\n",dir);

    return 0;
}

 

 

相关文章

在Linux系统中,设置ARP防火墙可以通过多种方法实现,包括使...
在Linux环境下,使用Jack2进行编译时,可以采取以下策略来提...
`getid`命令在Linux系统中用于获取当前进程的有效用户ID(EU...
在Linux环境下,codesign工具用于对代码进行签名,以确保其完...
Linux中的`tr`命令,其英文全称是“transform”,即转换的意...
Linux中的ARP防火墙是一种用于防止ARP欺骗攻击的安全措施,它...