1
pid = fork();
    if(pid == 0 && background == 1){
              // performs background process
        pid2 = fork();
        if(pid2 == 0){
                        // grandchild process
        } else {
                        // child process
          exit(0);
        }
    } else if(pid == 0){                                    
              // child process
    } else {
              //parent process
       waitpid(pid, NULL, 0);

    }

私の質問は、ダブル フォークを使用してバックグラウンド プロセスを実行しようとしているということですが、設定した方法でそれが機能するかどうかは 100% 確信が持てません。孤立した子供たち、私は彼らをそのままにしておくことができますか、それとも問題を引き起こしますか? これは UNIX シェル用です。

4

0 に答える 0