
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 · 319 阅读 · 0 评论 -
【信号】Linux信号捕捉之signal
首先明确信号是一种软中断。在操作系统中,当产生了一个信号,内核有三种方式处理该信号。 1、执行默认操作。对于大部分的信号,系统默认操作都是终止进程。 2、丢弃。意味着信号虽然产生,但是被内核丢弃,没有递送给进程。 3、捕捉。内核将调用用户处理函数(捕捉函数)。 下面讲讲信号捕捉。最简单的是signal函数,函数原型如下: typedef void (*sighandler_t)(int...原创 2019-03-29 14:16:19 · 650 阅读 · 0 评论 -
【信号】Linux信号量基本概念
当某个信号出现时,内核有三种处理方式: 1、忽略信号。忽略信号,是内核没有将信号递送给进程。 2、捕捉信号。 3、执行默认动作,对于大部分信号,默认操作时终止该进程 对于9号和19号信号,无法忽略、捕捉、修改默认动作 在信号处理程序中保证调用安全的函数,称之为可重入函数。 信号是由事件的发生而产生的。事件可以有以下几种形式:可以是硬件异常,可以是软件条件(定时器),可以是终端产生...原创 2019-03-14 20:23:11 · 298 阅读 · 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 · 1129 阅读 · 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 · 267 阅读 · 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 · 2749 阅读 · 1 评论 -
【gdb】GDB调试器的快速入门
本文介绍了GDB调试器的一些常用指令,能够快速上手原创 2019-08-07 20:45:12 · 156 阅读 · 0 评论