使用 execvp() 调用 Linux ps 命令
Using execvp() to Call Linux ps Command
我正在使用 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);
但是,它无法正常工作,因为当我 运行 它时,没有显示适当的列(PID、PPID 和 TIME)。我在这里做错了什么?
execvp()
命令列表的第一个参数是 argv[0]
,应该是可执行文件的文件名。所以,char *const parmList[] = {"ps", "-o pid,ppid,time", command2, NULL};
我正在使用 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);
但是,它无法正常工作,因为当我 运行 它时,没有显示适当的列(PID、PPID 和 TIME)。我在这里做错了什么?
execvp()
命令列表的第一个参数是 argv[0]
,应该是可执行文件的文件名。所以,char *const parmList[] = {"ps", "-o pid,ppid,time", command2, NULL};