![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
hello_ape
一只努力毕业拿到BAT offer的程序猿
展开
-
【信号】Linux信号捕捉之sigaction
sigaction是系统提供的另一个信号处理函数。负责检查或修改指定信号的关联处理动作。函数原型如下:int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact);signum是指需要处理的信号编号,act 和oldact都是结构体指针,如果不需要...原创 2019-03-30 08:49:07 · 237 阅读 · 0 评论 -
【信号】Linux信号捕捉之signal
首先明确信号是一种软中断。在操作系统中,当产生了一个信号,内核有三种方式处理该信号。1、执行默认操作。对于大部分的信号,系统默认操作都是终止进程。2、丢弃。意味着信号虽然产生,但是被内核丢弃,没有递送给进程。3、捕捉。内核将调用用户处理函数(捕捉函数)。下面讲讲信号捕捉。最简单的是signal函数,函数原型如下:typedef void (*sighandler_t)(int...原创 2019-03-29 14:16:19 · 566 阅读 · 0 评论 -
【信号】Linux信号量基本概念
当某个信号出现时,内核有三种处理方式:1、忽略信号。忽略信号,是内核没有将信号递送给进程。2、捕捉信号。3、执行默认动作,对于大部分信号,默认操作时终止该进程对于9号和19号信号,无法忽略、捕捉、修改默认动作在信号处理程序中保证调用安全的函数,称之为可重入函数。信号是由事件的发生而产生的。事件可以有以下几种形式:可以是硬件异常,可以是软件条件(定时器),可以是终端产生...原创 2019-03-14 20:23:11 · 245 阅读 · 0 评论 -
【线程】Linux线程的回收-----pthread_join
pthread_join函数负责线程的回收,回收系统分配的资源,主要是线程pcb。pthread_join的功能和waitpid类似。pthread_join 的函数原型如下:int pthread_join(pthread_t thread, void **retval);第一个参数是线程的id号线程退出时使用pthead_exit()函数,返回退出状态。第二个参数获取线程的退出...原创 2019-03-29 13:28:37 · 1032 阅读 · 0 评论 -
【网络编程】TIME_WAIT和2MSL
当客户端接收到服务端发送的FIN后,即进入TIME_WAIT状态。客户端在TIME_WAIT状态需要维持2个MSL时间。MSL 是max segment lifetime缩写,值IP 数据包在英特网中最大的存活时间。TIME_WAIT有以下两个原因:1、服务器可能无法收到客服发送的最终ACK,导致服务器无法关闭连接。由于服务器没有收到ACK,将会再次发送FIN,当客户处于TIME...原创 2019-03-30 21:30:30 · 196 阅读 · 0 评论 -
【Linux】mq_open函数打开失败原因
最近在看IPC,自己在编写Posix消息队列时,遇到mq_open无法打开,总是返回错误。因为在posix标准中,并不是所有的名字都可以使用,必须是以 / 开始,并且名字里只能包含一个 / 。代码如下,如果使用NAME ,输出success。如果使用NAME1,输出erro#include <stdlib.h>#include <sys/stat.h>#inc...原创 2019-08-06 22:02:17 · 2351 阅读 · 1 评论 -
【gdb】GDB调试器的快速入门
本文介绍了GDB调试器的一些常用指令,能够快速上手原创 2019-08-07 20:45:12 · 115 阅读 · 0 评论