linux c getprocess実行可能ファイルパス

目次

現在のプロセスの実行可能ファイルパスを取得します

指定された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, dir, PATH_MAX);
    printf("readlink return: %d\n", n);
    printf("dir: %s\n", dir);

    return 0;
}

 

 

おすすめ

転載: blog.csdn.net/whatday/article/details/115335925