gpt4 book ai didi

c - 简单的 Linux shell 。停止命令

转载 作者:太空宇宙 更新时间:2023-11-04 02:58:25 25 4
gpt4 key购买 nike

我正在尝试在 Linux 中实现一个简单的 shell,它应该具有的功能之一是允许用户按 <ctrl+D>并让它停止正在做的事情——基本上就是<ctrl+C>在 Bash 中做。

现在我想知道最简单的方法来做到这一点,我正在考虑某种可以使当前任务停止的关键监听器。现在我能想到的唯一方法是有一个单独的线程,它会强制停止并将主线程返回到基本状态,在那里它可以接受新的输入。

一个单独的线程将是“持续”监听正确按键的唯一方法。

我希望对此有一些想法,并可能找到更好的方法。

[编辑]我正在尝试制作一个简单的 shell,它可以执行外部程序、打印/更改目录、打印/设置路径、打印命令历史记录、从历史记录中调用命令以及打印/设置/删除命令别名。 CTRL-D 相当于 Bash 中的 CTRL-C,它允许用户立即退出当前正在运行的程序,而不是退出 shell 本身。 [/编辑]

最佳答案

你为什么不直接处理 Ctrl-C

这只是关于捕获信号的许多 SO 讨论之一:Catch Ctrl-C in C

Ctrl-D 通常代表标准输入上的 EOF。你不应该惹它。

关于c - 简单的 Linux shell 。停止命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14885249/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com