int pause(void)
使调用进程暂停,当任意信号到达该进程并信号处理函数执行完毕后该进程运行
成功=0 失败=-1
-
#include "../apue.h"
-
void sig_fun(int signo)
-
{
-
printf("%s signo=%d\n", __FUNCTION__, signo);
-
}
-
int main()
-
{
-
signal(SIGUSR1, sig_fun);
-
-
printf("[%d]%s start.\n",getpid(),__FUNCTION__);
-
-
pause();
-
-
printf("%s end.\n",__FUNCTION__);
-
}
示例如下:
[root@bogon 04_signal]# ./exe
[5034]main start.
此处pause 阻塞,在等待信号。
[root@bogon 04_signal]# kill -14 5034
向pid 5034 发送信号14 Alarm
[root@bogon 04_signal]# ./exe
[5034]main start.
Alarm clock
阅读(3178) | 评论(0) | 转发(0) |