0

我需要实现 ps -auxj、grep "user id" 和 wc。我已经有字数了,但是我不确定在其他有参数的情况下如何做。这就是我到目前为止所拥有的。

int main() {
int pfd[2];
int pid;

if (pipe(pfd) == -1) {
    perror("pipe failed");
    exit(-1);
}
if ((pid = fork()) < 0) {
    perror("fork failed");
    exit(-2);
}
if (pid == 0) {
    close(pfd[1]);
    dup2(pfd[0], 0);
    close(pfd[0]);
    execlp("wc", "wc", (char *) 0);
    perror("wc failed");
    exit(-3);
} 
else {
    close(pfd[0]);
    dup2(pfd[1], 1);
    close(pfd[1]);
    execlp("ls", "ls", (char *) 0);
    perror("ls failed");
    exit(-4);
}
exit(0);

}

在正确方向上的任何帮助都会很棒。

4

1 回答 1

3

exec 详细介绍了如何将参数传递给 exec 系列函数。例如

execl("ls", "ls", "-l",(char *) 0);

您可以从那里选择适合您的任何东西。

于 2013-10-29T23:44:12.667 回答