在写 Tweaks 的时候发现 system 没得用的,于是写了一个替代方法,需要的同学可以拿走使用
intruncmd(char*cmd,char*opt1,char*opt2,char*opt3)
{
posix_spawnattr_t attr;
posix_spawn_file_actions_t fact;
pid_tpid;
char*args[5];
args[0]=cmd;
if(opt1)
args[1]=opt1;
else
args[1]=NULL;
if(opt2)
args[2]=opt2;
else
args[2]=NULL;
if(opt3)
args[3]=opt3;
else
args[3]=NULL;
posix_spawnattr_init(&attr);
posix_spawn_file_actions_init(&fact);
posix_spawn(&pid,cmd,&fact,&attr,args,environ);
perror("posix_spawn");
printf("pid=%d,child pid = %d\n",getpid(),pid);
intstat=0;
waitpid(pid,&stat,0);
printf("stat is %d\n",stat);
return 0;
}
网友评论