kill()、raise()、alarm()、pause()、
2016-03-21 16:10
316 查看
kill:
raise:
alarm:没办法实现多任务的计时器
pause:
sleep:有的系统使用alarm+pause封装形成的,程序中如果也用到alarm函数就会冲突
有的系统用的是nanosleep实现的
/******************** *功能:给进程发送一个信号 *参数:pid > 0 :将signal发送给进程号为PID的进程 * pid = 0 :将signal发送给同进程组的进程 * pid =-1 :将signal发送给他有权限发送的每个进程(除了init进程) * pid < -1 : 将signal发送给|pid|的进程组的进程 * signal:0:不会发送信号,用于检测进程或者进程组是否存在 *返回值:成功返回0,失败返回-1并设置ERRNO * ****************/ #include <sys/types.h> #include <signal.h> int kill(pid_t pid, int sig);
raise:
/********************* *功能:给当前进程或者线程发送一个信号 *参数:signal:信号 *返回值:成功返回0,失败返回-1并设置errno * ******************/ #include <signal.h> int raise(int sig);
alarm:没办法实现多任务的计时器
/********************* *功能:倒计时会给当前进程发送一个SIGALRM *参数:seconds:计时:0:不会产生signal *返回值:倒计时时间 * ******************/ #include <unistd.h> unsigned int alarm(unsigned int seconds);
pause:
/********************* *功能:等待一个信号到来,解决信号忙等 *返回值:当有信号捕捉到的条件下并且信号函数执行,返回EINTR * ******************/ #include <unistd.h> int pause(void);
sleep:有的系统使用alarm+pause封装形成的,程序中如果也用到alarm函数就会冲突
有的系统用的是nanosleep实现的
相关文章推荐
- RAID级别简介
- 1.插入排序—直接插入排序(Straight Insertion Sort)
- Rails 实现多对多自连接
- Dell R420 RAID建立以及系统安装
- 使用AIDE做Linux高级入侵检测文件监控
- error LNK2019: 无法解析的外部符号 _main,该符号在函数___tmainCRTStartup 中被引用
- Check/Repair Geometry
- [leetcode] 217. Contains Duplicate
- 【AI】蒙特卡洛搜索树
- [LeetCode][数论]Contains Duplicate
- AIDL的使用
- [置顶] 人工智能实战——人工神经网络(C库iOS交叉编译)
- The working copy "" failed to commit files
- 利用遗传算法求解车辆路径问题
- Infopath——在给form的email地址添加链接打开Outlook
- WaitForTargetFPS和Gfx.WaitForPresent和Graphics.PresentAndSync
- Jenkins进阶系列之——02email-ext邮件通知模板
- Jenkins进阶系列之——01使用email-ext替换Jenkins的默认邮件通知
- 百度地图检索周围小吃添加大头针
- Foxmail 自动备份邮件,自动转发到另外一个邮箱的操作。