linux signal使用注意点
来源:互联网 发布:织梦v57漏洞 编辑:程序博客网 时间:2024/06/04 20:11
1. 信号安装后,只生效一次。要重复可接受信号,需要重新安装。
void sigroutine(int signo){ sig_alarm_flag = 1; signal(SIGALRM, sigroutine);}
2. 在信号处理程序中调用不可重入函数,其结果是不可预见的。
#include <pwd.h>#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <signal.h>#include <string.h>static void my_alarm(int signo){ struct passwd *rootptr; printf("in signal handler\n"); if((rootptr = getpwnam("root")) == NULL) { printf("getpwnam() error for root\n"); return; } alarm(1);}int main(void){ struct passwd *ptr; signal(SIGALRM, my_alarm); alarm(1); for(;;) { if ((ptr = getpwnam("user")) == NULL) { printf("getpwnam() error for user\n"); exit(0); } if (strcmp(ptr->pw_name, "user") != 0) { printf("return value corruptd!, pw_name = %s\n", ptr->pw_name); } else { printf("get correct, pw_name = %s\n", ptr->pw_name); } } exit(0);}
- linux signal使用注意点
- Linux Ubuntu使用注意点
- linux signal函数使用
- linux signal()信号使用
- Linux下signal()使用
- Android 信号量signal使用注意的问题
- QT中signal和slot的一些注意点保存
- Linux分区注意点
- linux shell注意点
- DataReader使用注意点
- JSF使用注意点
- JSF使用注意点
- AJAX使用注意点
- memcpy使用注意点
- tomcat使用注意点
- scanf使用注意点
- MappedByteBuffer使用注意点
- ice 注意使用点
- POJ P1321 棋盘问题
- UVa 12018 - Juice Extractor 切水果dp----------暂时存疑
- tcpdump使用小记
- POJ_1797(dijkstra实现)
- MFC 按字节读取字符串 添加换行符 实现static text自动换行
- linux signal使用注意点
- 状态栏透明
- 模块-kernel 模块编译(Makefile编写)
- sql case when 用法
- 预编译的 SQL 语句的对象-PreparedStatement
- java设置图片的大小(缩略图)
- 记录一些可能会用到的html标签
- dotConnect for Oracle中的OracleClient迁移
- Linux静态库和动态库