Linux 下当前可执行文件如何获取自身文件名与全路径<转>

shell里面用$0咱就不说了,下面是看到的另外一种获取文件名的方法,果断的转之~~

1. 当前程序运行的时候,你可以去读取/proc/self/exe,这个文件就是当前进程的可执行文件的一个连接

2. readlink函数可以把连接的名字转成实际文件名;

代码如下:
#include <stdio.h>
void main( void )
{
       char sysfile[15] = "/proc/self/exe";
       int   namelen = 256;
       char selfname[256];

       memset( selfname, 0, 256 );

       if ( -1 != readlink( sysfile,
                                           selfname,
                                           namelen) )
       {
              printf( " self name = %s\n",
                            selfname );
       }
}

结果如下:
wzhnsc@wzhnsc-Ubuntu:/media/TestSrc$ ./getselfname
self name = /media/TestSrc/getselfname

你可能感兴趣的:(Linux 下当前可执行文件如何获取自身文件名与全路径<转>)