小编Dal*_*ale的帖子

多个execlp不起作用

我需要一些帮助.一旦我运行程序,我需要执行所有三个execlp()但发生的情况是只执行case 0.我将pid更改为1并执行case1等等.尝试将其置于for循环中但不起作用.我改变了break继续但仍然相同 - 只执行一个进程.有什么建议?

主要(){

pid_t pid;
pid= fork();
int i;

if(pid==0){

    for (i=0; i<3; i++){
        switch (i){
            case 0:
            execlp("/bin/cat", "cat", "wctrial.txt", NULL);
            break;

            case 1:     
            execlp("/bin/mkdir", "mkdir", "mydirectory", NULL);
            break;

            case 2:
            execlp("/bin/wc", "wctrial.txt", NULL);
            break;
        }
    }


}else{
    wait(NULL);
    printf("Child process completed!");
    exit(0);
}
Run Code Online (Sandbox Code Playgroud)

}

c exec

0
推荐指数
1
解决办法
1658
查看次数

标签 统计

c ×1

exec ×1