如何禁止Ctrl+C执行?

如何禁止Ctrl+C执行?

Q:如何禁止Ctrl+C执行?

应用层如何控制S ylixOS 禁止 Ctrl+C 快捷键杀掉应用,参考代码如下:
#include <sys/stat.h> #include <termios.h> #include <fcntl.h> static INT iOptionNoAbort, iOption; static void do_cancel_ctrlc (void) { ioctl(STD_IN, FIOGETOPTIONS, &iOption); iOptionNoAbort = (iOption & ~OPT_ABORT); /* 取消control+c */ ioctl(STD_IN, FIOSETOPTIONS, iOptionNoAbort); } static void do_resume_ctrlc (void) { ioctl(STD_IN, FIOSETOPTIONS, iOption); }


    • Related Articles

    • 如何禁止Contrl+X执行?

      Q:如何禁止Contrl+X执行? 应用层如何控制 SylixOS 禁止 Contrl+X 快捷重启系统,参考代码如下: #include <sys/stat.h> #include <termios.h> #include <fcntl.h> static struct termios term_orig, term_new; static void do_cancel_ctrlx (void) { tcgetattr(STD_IN, &term_orig); term_new = ...
    • SylixOS 中 CTRL + C 的大致处理流程

      Q:SylixOS 中 CTRL + C 的大致处理流程 (1)当键盘按下 CTRL+C 时,主机就向目标板发送一个控制字符,其 ASSIC 码为 0x03,在 SylixOS 下常用的控制字符如下,此定义是在 tyLib.c 文件中。 /********************************************************************************************************* 全局变量(控制字 ...
    • SHELL 中 CTRL 控制命令

      SylixOS 的 shell 有几个 CTRL 命令比较特殊: CTRL + S :表示 SHELL 终端的停止操作,输入后, SHELL 不能再响应之后的输入。 CTRL + Q :表示 SHELL 终端的运行操作,输入后,可以将 SHELL 从 CTRL + S 之后返回到正常情况。 CTRL + D :表示 SHELL 终端的退出,输入后,SHELL 不能再响应输入,只能通过重启解决。
    • 应用线程或者进程如何保证不能被Ctrl+C杀掉?

      Q:应用线程或者进程如何保证不能被 Ctrl+C 杀掉? 使用 pthread_safe_np 和 pthread_unsafe_np 可以保证线程进入安全模式,避免被Ctrl+C杀掉。 更多扩展知识: 参考文章:SylixOS 中 CTRL + C 的大致处理流程 参考文章:SHELL 中 CTRL 控制命令 参考文章:如何禁止Contrl+X执行?
    • 添加标准 C 库头文件会与 SylixOS 内部数据结构冲突

      Q: 为什么加入一些标准 C 库头文件会与 SylixOS 内部数据结构冲突? SylixOS 为了提高兼容性与稳定性,SylixOS 提供了一套最适合自身多线程操作系统特点的标准 C 库(暂不包含数学库). 这套 C 库相关代码是从其他开源项目中演变而来。当然为了配合 SylixOS 系统,很多地方做出了修改。 这些库中相关的定义会随着 #include <SylixOS.h> 一同引入用户程序,当用户引用其他辅助 C 库时, 可能产生一些重复定义问题。 这里推荐使用 SylixOS 提供的 ...