会员
周边
众包
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
首页
新随笔
管理
订阅
随笔- 28 文章- 0 评论- 0 阅读-
12485
随笔分类 -
linux开发
iptables和firewalld相关
摘要:1. 基本概念 1.1. 4表5链 防火墙由很多规则组成,每个规则匹配产生不同的动作,这些规则按功能共划分出4个表,一个表由多个相同功能的规则组成: raw 控制NAT表中连接跟踪机制的启用状况 mangle 修改数据 filter 过滤 nat 地址转换 在数据经过的各个路径上,设置了5个关键卡点
阅读全文
posted @
2022-06-12 23:14
suntus
阅读(207)
评论(0)
推荐(0)
编辑
close_wait相关
摘要:1. CLOSE_WAIT是什么 TCP关闭时 主动关闭: 发FIN(FIN_WAIT_1) --> 收ACK(FIN_WAIT_2) --> 收FIN(TIME_WAIT) --> 发ACK, TIME_WAIT会持续 2*MSL(1-4分钟) 被动关闭: 收FIN(CLOSE_WAIT) -->
阅读全文
posted @
2021-10-26 23:22
suntus
阅读(354)
评论(0)
推荐(0)
编辑
setsid
摘要:1. 介绍 #include <unistd.h> pid_t setsid(void); 创建新的会话,并设进程组ID为新的会话ID 2. linux中各种进程组控制 单个进程使用进程pid控制; 如果想同时控制多个进程,需要进程组,进程组中的进程都是由一个进程fork()出来的; 进程组可以分前
阅读全文
posted @
2021-09-04 10:04
suntus
阅读(308)
评论(0)
推荐(0)
编辑
信号量
摘要:解决什么问题 进程或线程同步 如何解决? 一个整数n,不允许小于0,小于0就会阻塞程序运行,两个操作来控制: sem_post(3) 每次+1, sem_wait(3) 每次-1。比如初始化时候n=0, 一个线程执行sem_wait(),发现n是0,如果-1,就会小于0,但信号量不允许小于0,就等着
阅读全文
posted @
2021-09-04 08:37
suntus
阅读(253)
评论(0)
推荐(0)
编辑
linux标准输入输出
摘要:#include <stdio.h> extern FILE *stdin; extern FILE *stdout; extern FILE *stderr; 通常linux程序启动后都会有这3个打开的输入输出流,叫标准I/O流。 对应的文件描述符为STDIN_FILENO(0),STDOUT_F
阅读全文
posted @
2021-08-30 22:48
suntus
阅读(1037)
评论(0)
推荐(0)
编辑
linux守护进程范例
摘要:1. 目标 让程序脱离控制终端,不从终端接收信号,防止被外部信号打扰。 2. 标准过程 fork()出子进程, 父进程退出 setsid()新建会话组,子进程脱离控制终端 关闭标准输入输出 标准过程就上边3步,还可以umask(0), chdir() 或者再fork()一次,得到孙子进程,不过不是必
阅读全文
posted @
2021-08-30 22:47
suntus
阅读(74)
评论(0)
推荐(0)
编辑
用到的cmake
摘要:1. CheckCxxCompilerFlag 模块 检查cxx编译器是否支持某个flag include(CheckCxxCompilerFlag) CHECK_CXX_COMPILER_FLAG("-std=c++1" COMPILER_SUPPORTS_CXX11) if (COMPILER_
阅读全文
posted @
2021-08-16 11:19
suntus
阅读(43)
评论(0)
推荐(0)
编辑
在centos上切换不同版本的gcc
摘要:使用scl工具进行切换,效果是想用哪个版本就可以切哪个版本,方便调试。 安装 yum install scl-utils yum install centos-release-scl 查看都有啥包可选 yum list all --enablerepo='centos-sclo-rh' 安装不同版本
阅读全文
posted @
2021-07-18 08:11
suntus
阅读(2333)
评论(0)
推荐(0)
编辑
accept相关
摘要:#include <sys/types.h> /* See NOTES */ #include <sys/socket.h> int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen); #define _GNU_SOURCE
阅读全文
posted @
2021-06-22 23:15
suntus
阅读(35)
评论(0)
推荐(0)
编辑
select,poll,epoll总结
摘要:1. 简介 都是IO多路复用。 可以在一个进程或线程中同时管理多个IO的事件,在相当于在一个点去等待这些事件,收集到事件后,再分别处理。 2. 基本API 2.1. select // 1. 操作fd集 void FD_CLR(int fd, fd_set *set); int FD_ISSET(i
阅读全文
posted @
2021-06-20 23:51
suntus
阅读(46)
评论(0)
推荐(0)
编辑
epoll相关
摘要:IO事件通知机制。 1. 简介 跟poll(2)类似,可以同时监测多个文件描述符上的事件。可以使用水平触发和边沿触发两种模式,可以同时监听大量fd,而且性能很好。 epoll_create(2)创建一个epoll实例,并返回一个fd用于控制该实例。 epoll_ctl(2)添加感兴趣的fd到epol
阅读全文
posted @
2021-06-20 23:06
suntus
阅读(54)
评论(0)
推荐(0)
编辑
poll相关
摘要:IO多路复用。 1. 定义 #include <poll.h> struct pollfd { int fd; /* file descriptor */ short events; /* requested events */ short revents; /* returned events *
阅读全文
posted @
2021-06-20 21:59
suntus
阅读(100)
评论(0)
推荐(0)
编辑
信号相关
摘要:大部分都是参考manual 1. 整体介绍 1.1. 信号默认处理动作 Term: 中止进程 Ign: 忽略信号 Core: 中止进程并转储文件 Stop: 暂停进程 Cont: 继续当前暂停的进程 除此之外还可以自定义处理函数,处理函数一般是在当前进程栈,也可以用sigaltstack(2)设置信
阅读全文
posted @
2021-06-20 21:45
suntus
阅读(174)
评论(0)
推荐(0)
编辑
select相关
摘要:1. 定义 同步IO多路复用。 select(2) 和 pselect(2) 的区别: 时间精度不同,select(2) 用 struct timeval,精确到us,pselect(2) 用 struct timespec ,精确到ns select(2) 会更新 timeout ,提示还剩下多长
阅读全文
posted @
2021-06-19 17:56
suntus
阅读(51)
评论(0)
推荐(0)
编辑
公告
昵称:
suntus
园龄:
12年5个月
粉丝:
0
关注:
3
+加关注
<
2025年3月
>
日
一
二
三
四
五
六
23
24
25
26
27
28
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
我的标签
linux
(15)
cpp
(11)
media
(3)
tools
(2)
ros
(2)
net
(2)
libhv
(2)
log
(1)
随笔分类
(26)
cpp(8)
linux开发(14)
media(1)
夜深人静看代码(3)
随笔档案
(28)
2022年6月(1)
2022年5月(3)
2021年12月(2)
2021年10月(1)
2021年9月(6)
2021年8月(5)
2021年7月(2)
2021年6月(8)
阅读排行榜
1. GB28181实现对比(3056)
2. 在centos上切换不同版本的gcc(2333)
3. ros图像处理相关(1961)
4. linux标准输入输出(1037)
5. log4z(866)
点击右上角即可分享