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 シェル用です。