我正在尝试在 linux 中实现一个简单的 shell,它应该具有的功能之一是让用户能够按下<ctrl+D>
并使其停止它正在做的任何事情 - 基本上正是<ctrl+C>
Bash 中所做的。
现在我想知道最简单的方法来做到这一点,并且我正在考虑某种可以使当前任务停止的关键侦听器。现在我能想到的唯一方法是拥有一个单独的线程,该线程将强制停止并将主线程返回到基本状态,在那里它可以接受新的输入。
单独的线程将是“不断”侦听正确按键的唯一方法。
我希望对此有一些想法,并可能有更好的解决方法。
[编辑] 我正在尝试制作一个简单的 shell,它可以执行外部程序、打印/更改目录、打印/设置路径、打印命令历史记录、从历史记录调用命令和打印/设置/删除命令别名。CTRL-D 相当于 Bash 中的 CTRL-C,它允许用户立即退出当前正在运行的程序,而不是退出 shell 本身。[/编辑]