我需要实现ps-auxj、grep“用户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);
}
任何正确方向的帮助都是很好的。
最佳答案
exec提供了有关如何向exec函数族传递参数的详细信息。
例如
execl("ls", "ls", "-l",(char *) 0);
你可以从那里选择任何适合你的东西。
关于c - C代码中的Unix命令,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19671192/