如何禁止Contrl+X执行?

如何禁止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 = term_orig; term_new.c_cc[VQUIT] = -1; /* 取消control+x */ tcsetattr(STD_IN, TCSANOW, &term_new); } static void do_resume_ctrlx (void) { tcsetattr(STD_IN, TCSANOW, &term_orig); }



    • Related Articles

    • 如何禁止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 = ...
    • SHELL 中 CTRL 控制命令

      SylixOS 的 shell 有几个 CTRL 命令比较特殊: CTRL + S :表示 SHELL 终端的停止操作,输入后, SHELL 不能再响应之后的输入。 CTRL + Q :表示 SHELL 终端的运行操作,输入后,可以将 SHELL 从 CTRL + S 之后返回到正常情况。 CTRL + D :表示 SHELL 终端的退出,输入后,SHELL 不能再响应输入,只能通过重启解决。
    • SylixOS 中 CTRL + C 的大致处理流程

      Q:SylixOS 中 CTRL + C 的大致处理流程 (1)当键盘按下 CTRL+C 时,主机就向目标板发送一个控制字符,其 ASSIC 码为 0x03,在 SylixOS 下常用的控制字符如下,此定义是在 tyLib.c 文件中。 /********************************************************************************************************* 全局变量(控制字 ...
    • 应用线程或者进程如何保证不能被Ctrl+C杀掉?

      Q:应用线程或者进程如何保证不能被 Ctrl+C 杀掉? 使用 pthread_safe_np 和 pthread_unsafe_np 可以保证线程进入安全模式,避免被Ctrl+C杀掉。 更多扩展知识: 参考文章:SylixOS 中 CTRL + C 的大致处理流程 参考文章:SHELL 中 CTRL 控制命令 参考文章:如何禁止Contrl+X执行?
    • SylixOS kill 命令是不安全的操作

      现象: 在 SylixOS 的 shell 终端执行 kill 命令,会出现如下现象 [sh]Warning: Program is killed (SIGKILL) by shell. Restart SylixOS is recommended! 上述的意思是使用shell下面的kill命令去杀死另外一个进程是不安全的,建议重启处理。 kill命令会导致如下问题: 1、如果 kill 的时候,应用进程刚好持有驱动函数锁,会导致驱动函数的锁被删除掉,导致驱动函数信号量被意外释放。 ...