linux下获取当前运行进程的文件路径
#include <unistd .h> int get_bin_pathname( char *pathname ) { FILE *fp = NULL; char _filename[1024] = {0}; int _pid = getpid(); sprintf(_filename, "dirname `ls -n /proc/%d/exe | awk '{if ($8==\"->\") {print $19} else {if ($9==\"->\") {print $10} else {print $11}}}'`", _pid); fp = popen(_filename, "r"); fgets(_filename, sizeof(_filename), fp); fclose(fp); _filename[strlen(_filename)-1] = '\0'; strcpy( pathname, _filename ); return 0; } </unistd>
dirname获取路径,basename获取文件名
一条评论
其实
lsof -p pid 你可以查到当前进程是允许的那个执行文件