Linux c 程序自动启动自己


在程序自动升级的时候需要自己重新启动自己

#include 
#include 
#include 


int main(int argc,char *argv[])
{
        char buf[32] ={};
        char *exec_argv[] = {argv[0],buf,0};
        int count = argc > 1 ? atoi(argv[1]) : 0;
        printf("Runing:%s %d\n",argv[0],count);
        snprintf(buf,sizeof(buf),"%d",count +1);
        sleep(5);

        execv("/proc/self/exe",exec_argv);  /*"/proc/self/exe" 查找出程序自身的地址*/
return 0;
}