在Linux中,Ctrl+C是一个默认的中断信号(SIGINT),用于终止当前正在运行的进程
使用kill
命令发送信号: 你可以使用kill
命令向进程发送一个信号,以覆盖默认的中断行为。例如,要向进程ID为1234的进程发送忽略Ctrl+C的信号,你可以运行以下命令:
kill -SIGCONT 1234
这将使进程继续运行,忽略Ctrl+C中断。
在程序中捕获信号: 如果你有权限修改正在运行的进程,你可以在程序中捕获SIGINT信号并忽略它。在C语言中,你可以使用signal()
函数来实现这一点。例如:
#include <signal.h> #include <unistd.h> void ignore_ctrl_c(int sig) { // Do nothing } int main() { signal(SIGINT, ignore_ctrl_c); while (1) { // Your program code here } return 0; }
这段代码将使程序在接收到Ctrl+C信号时继续执行,而不是终止。