1:添加信号 1.1 原型:sloop_handle sloop_register_signal(int sig, sloop_signal_handler handler, void * param) 这个函数提供给使用sloop模块的第三方,只需要传入要监听的信号、信号处理函数、参数,就可以将此 ...
分类:
其他好文 时间:
2017-07-03 12:19:25
阅读次数:
210
操作信号集: sigemptyset sigaddset 绑定信号处理函数: signal sigaction 屏蔽: sigprocmask 发送: sigqueue kill 获取: sigpending ...
分类:
系统相关 时间:
2017-06-25 19:33:10
阅读次数:
324
1.cat-nfile1file2命令的意思是?把文件file1和file2连在一起,然后输出到屏幕上。2.Linux下查看服务程序占用的端口命令是什么?netstat–apn3.对于Linux说法,下列说法正确的是()线性访问内存非法时,当前线程会进入信号处理函数4.在Linux系统上,下面那个命令不可以用来查?.
分类:
系统相关 时间:
2017-06-24 20:52:14
阅读次数:
184
线程标识 创建、退出、等待、取消线程 线程属性 可重入和线程安全 线程安全:多个线程可以同时的、安全的调用同一个函数 重入:例如 main() 调用 malloc() 时产生信号,中断原有流程,进入信号处理函数,信号处理函数中再次调用 malloc(),称为重入。从栈帧上说,malloc() 出现了 ...
分类:
编程语言 时间:
2017-05-26 14:34:27
阅读次数:
198
信号是系统用来异步通知一个进程某些事件发生了的机制。从效果上来说,有点像中断。信号发生时,打断原有执行过程,进入信号处理函数(如果注册了的话)或默认处理(忽略或终止程序),结束后恢复原有流程。默认情况下,信号处理过程中可能会被其它信号继续中断,所以需要考虑各种可能的情况,比如库函数重入的问题。信号处 ...
分类:
其他好文 时间:
2017-05-26 00:42:13
阅读次数:
245
网络编程知识 索引: 1.处理SIGCHLD信号 当编写fork子进程处理连接的服务器程序时,子进程退出会给父进程产生SIGCHLD信号,父进程若不处理该信号会导致僵尸进程。 处理SIGCHLD信号,使用waitpid调用,不能使用wait简单处理。一般的处理方法如下(信号处理函数): 2.捕获信号 ...
分类:
其他好文 时间:
2017-05-16 14:50:46
阅读次数:
273
在这篇文章中,提到了Master进程对信号的处理函数,其中有两个信号比较有意思。 SIGHUP:用来热更新(Reload)应用 SIGUSR2:用来在线升级(upgrade on the fly)gunicorn 下面来详细看一下: SIGHUP: SIGUP对应的信号处理函数是Arbiter.re ...
分类:
其他好文 时间:
2017-05-15 13:03:35
阅读次数:
268
1.处理信号时,尽量避免进行复杂的操作,而是仅仅设置某个标志即可.这样能够避免一些潜在的问题,如函数重入,某个函数xxx正在写一个静态缓冲区,写了一半时,信号到来,进入信号处理函数,信号处理函数中又调用了函数xxx,这样导致信号处理完后原来的写的数据无效.2.定时器的..
分类:
其他好文 时间:
2017-04-30 22:50:01
阅读次数:
83
1.处理信号时,尽量避免进行复杂的操作,而是仅仅设置某个标志即可.这样能够避免一些潜在的问题,如函数重入,某个函数xxx正在写一个静态缓冲区,写了一半时,信号到来,进入信号处理函数,信号处理函数中又调用了函数xxx,这样导致信号处理完后原来的写的数据无效. 2.定时器的实现可以依靠SIGALRM信号 ...
分类:
其他好文 时间:
2017-04-30 21:31:14
阅读次数:
153
网络编程中需要考虑的一些情况 1、 服务器没有处理僵死的子进程 需要在listen之后添加一个俘获SIGCHLD的信号处理函数,还处理僵死的子进程。 1 Signal(SIGCHLD, sig_chld); 2 3 Void sig_chld(int signo) 4 { 5 Pid_t pid; ...
分类:
其他好文 时间:
2017-04-14 12:51:48
阅读次数:
272