2

所以我正在编写一个可以同时具有前台和后台进程的shell。我有一个:

signal(SIGCHLD, childHandler);

因此我有处理程序:

void childHandler(int signum){
    int status, PID;
    PID = waitpid(-1, &signum,WNOHANG);
}

此处理程序捕获更改状态的前台和后台子项。我的外壳似乎适用于前台进程。但是,一旦我调用后台进程,事情就不再正常工作了......我认为这可能是由于这个处理程序。

任何人都可以查看是否有问题/丢失?

4

0 回答 0