使用execvp()调用Linux ps命令
我正在使用C并尝试使用execvp启动以下linux命令:使用execvp()调用Linux ps命令,c,linux,exec,ps,C,Linux,Exec,Ps,我正在使用C并尝试使用execvp启动以下linux命令: ps -o pid,ppid,time --pid 30008 我现在有以下代码: char command2[1024]; snprintf(command2, sizeof(command2), "--pid %i", processId); char *const parmList[] = {"-o pid,ppid,time", command2, NULL}; execvp("/bin/ps", parmList); 但是
ps -o pid,ppid,time --pid 30008
我现在有以下代码:
char command2[1024];
snprintf(command2, sizeof(command2), "--pid %i", processId);
char *const parmList[] = {"-o pid,ppid,time", command2, NULL};
execvp("/bin/ps", parmList);
但是,它不能正常工作,因为当我运行它时,相应的列没有显示PID、PPID和TIME。我做错了什么?execvp命令列表的第一个参数是argv[0],应该是可执行文件的文件名。所以,char*const parmList[]={ps,-o pid,ppid,time,command2,NULL}