日期:2014-05-16  浏览次数:20736 次

如何在sco unix/c下获取执行程序的全路径
如题

------解决方案--------------------

用ps看路径,看的不全,如果你是用相对路径执行的程序,那获取的也是相对路径


下边的方法是可靠的. 

#include <unistd.h>
#include <sys/types.h>
#include <unistd.h>


int main()
{
char buf1[512],buf2[512];
pid_t pid;

pid=getpid();
memset(buf1,0,sizeof(buf1));
memset(buf2,0,sizeof(buf2));
sprintf(buf1,"/proc/%d/exe",pid);
readlink(buf1, buf2, sizeof(buf2));
printf("%s\n",buf2);
}