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 に答える