应用线程或者进程如何保证不能被Ctrl+C杀掉?

应用线程或者进程如何保证不能被Ctrl+C杀掉?

Q:应用线程或者进程如何保证不能被 Ctrl+C 杀掉?
使用 pthread_safe_np 和 pthread_unsafe_np 可以保证线程进入安全模式,避免被Ctrl+C杀掉。




    • 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 每个进程的堆栈大小是多少?

      Q:SylixOS 每个进程的堆栈大小是多少? SylixOS 进程虚拟空间以页 ( 典型大小为 4KB ) 为单位进行分配, 每一个进程在装载时预分配 32MB 的虚拟页面,( 空间的大小将通过环境变量 SO_MEM_PAGES 决定 ) API_TShellExec("SO_MEM_PAGES=8192");                                /*  动态内存虚拟页面数量        */                                     ...
    • 如何调试运行中多线程的进程

      问:如何调试运行中多线程的进程? 答:通常情况下,我们利用non_stop模式调试程序的时候是采用的一键推送调试,如果遇到正在运行中的多线程进程,我们可以采用attach+non_stop的方式来对其调试。       (1)加入断点后对运行中的程序进行单步调试:         (2)attach调试选项:
    • SylixOS 进程资源回收机制

      SylixOS 中使用 t_reclaim 线程回收进程资源。t_reclaim 线程在系统启动时创建,优先级较低,为 253。线程执行流程非常简单,即接收消息队列值并执行 vprocReclaim() 进行回收,消息队列数据位待回收的线程控制块指针。如下图所示。 vprocReclaim() 执行流程如下: 1)等待所有线程被彻底删除; 2)回收线程全部资源(打开的文件、信号量、时间、定时器等); 3)释放模块资源; 4)回收进程控制块资源 通过调用 __resReclaimReq() ...
    • 僵死状态进程如何处理

      Q: 子进程执行完或kill后,处于僵死状态(zombie),如何将其终结? A: 如果子进程退出后,通过ps命令仍能看到其存在,并且它的状态变成Z,则此子进程处于僵死状态,那如何将其正常终止呢? 在 SylixOS 中可以通过调用 wait 或者 waitpid,这样父进程可以获取子进程的退出状态,子进程也能正常终止。 即在程序中增加如下代码: child_pid = wait (&iStatLoc) 或者 waitpid(child_pid, &iStatLoc, 0);