创建我自己的 shell。处理 Ctrl-Z 然后发送 SIGCONT 关闭进程而不是继续它

Creating my own shell. Handling Ctrl-Z and then sending SIGCONT closes the process instead of continue it

我正在用 C 语言创建自己的 shell。到目前为止,我实现了许多功能,但我遇到的问题是 CTRL-Z 处理 (SIGTSTP)。让我详细说明成功尝试的问题:

我到处搜索,什么都试过了,还是想不通。但问题似乎与第 525 行有关。当我发送 SIGCONT 信号时,它会关闭进程。但是,如果评论该行,它不会关闭,但我也无法使用该过程,因为它已停止!!!

我的 GitHub 存储库中有代码:https://github.com/EmreKumas/Myshell

感谢阅读...

看来问题是进程组引起的。我确实只为后台作业创建了不同的进程组,但是由于在执行 exec 命令后不能更改子进程的进程组,所以最好在 exec 调用之前开始。现在,由于“@that other guy”和“@John Bollinger”,问题得到了解决。