使用ctrl-c防止C程序被杀死

use*_*863 0 c

可能重复:
在C中捕获Ctrl-C

我正在编写一个C命令行程序,并试图确保ctrl-c不会杀死它.我怎么能这样做的想法?

Fin*_*fin 6

当程序运行时按Ctrl-C,下面发生的是您的进程收到一个名为SIGINT的信号,当进程收到此信号时的默认操作是终止自身.
因此,您的目标应该是修改此行为:
使用该函数signal捕获ctrl-c时发送到您的进程的信号

你应该这样做:

signal(SIGINT, handler_function);//handler_function is a void returning function that takes one int paramter, you can do nothing there if you just want to prevent your process from terminating.
Run Code Online (Sandbox Code Playgroud)


PS以下是有关详细信息的手册页:D
PPS如果您对信号不熟悉,请参阅此维基百科页面,如果您发现有疑问,请告诉我们.