在Linux系统中,信号(signal)是一种进程间通信(IPC)机制,用于通知进程某个事件已经发生。信号可以由系统产生,也可以由用户程序产生,然后被发送到一个或多个进程上。进程收到信号后,会根据信号的类型执行相应的操作。
以下是一个简单的示例,展示如何设置信号处理函数来捕获SIGINT信号:
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
#include <unistd.h>
// 信号处理函数
void signal_handler(int signum) {
printf("捕获到信号 %d\n", signum);
}
int main() {
// 设置SIGINT信号的处理函数
if (signal(SIGINT, signal_handler) == SIG_ERR) {
perror("signal");
exit(1);
}
printf("按 Ctrl+C 发送 SIGINT 信号...\n");
while (1) {
sleep(1);
}
return 0;
}
通过以上信息,你可以对Linux中的信号机制有一个基本的了解,并能够在实际开发中应用这些知识。
腾讯云数据库TDSQL训练营
腾讯云数据库TDSQL(PostgreSQL版)训练营
2022OpenCloudOS社区开放日
云+社区沙龙online第6期[开源之道]
云原生正发声
腾讯云数据库TDSQL训练营
腾讯云数据库TDSQL训练营
腾讯云数据库TDSQL训练营
腾讯云数据库TDSQL训练营
腾讯云数据库TDSQL训练营
腾讯云数据库TDSQL训练营
领取专属 10元无门槛券
手把手带您无忧上云