
linux
文章平均质量分 80
dahuang1016
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
记一次内核打印 VFS: Can‘t find ext4 filesystem 错误信息的定位和解决过程
问题:内核打印VFS: Can't find ext4 filesystem只有第一次启动才会出问题定位思路:1,由于刚升级了内核,很有可能是内核导致的查看内核代码,定位到打印出错信息的位置为函数ext4_fill_super,该函数是一个回调函数,由函数mount_bdev 调用加入printk打印详细信息,看为什么会出现这种错误,定位到问题代码在if (sb->s_magic != EXT4_SUPER_MAGIC) { printk(KERN_ERR, "invali...原创 2020-09-04 13:13:47 · 7508 阅读 · 0 评论 -
GSLB相关知识点
摘要 GSLB是Global Server Load Balance的缩写,即全局负载均衡。本文首先介绍了什么是负载均衡SLB,以及为什么要使用SLB。接着引出全局负载均衡GSLB的概念和作用。为此介绍了其基于DNS进行解析和分配负载的实现,包括DNS的原理简介、应用部署中的基本概念、分配负载的决策条件等内容。以外,本文还简单介绍了通过HTTP和IP...原创 2020-05-05 10:35:47 · 27781 阅读 · 1 评论 -
Unix domain socket 实例
server端:#include <arpa/inet.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <poll.h>#include <sys/types.h>#include <sys/socket.h>#include &原创 2018-06-07 15:51:38 · 1026 阅读 · 0 评论 -
Socket的理解和应用
“一切皆Socket!”话虽些许夸张,但是事实也是,现在的网络编程几乎都是用的socket。——有感于实际编程和开源项目研究。我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web服务器通信的?当你用QQ聊天时,QQ进程怎么与服务器或你好友所在的QQ进程通信?这些都得靠socket?那什么是socket?socket的类型有哪些?还有socket...转载 2018-06-07 14:15:19 · 5270 阅读 · 1 评论 -
非阻塞socket调用connect, epoll和select检查连接情况示例
我们知道,linux下socket编程有常见的几个系统调用:对于服务器来说, 有socket(), bind(),listen(), accept(),read(),write()对于客户端来说,有socket(),connect()这里主要要讲的是客户端这边的connect函数。对于客户端来说,需要打开一个套接字,然后与对端服务器连接,例如: 1 int main(int argc, char ...转载 2018-05-30 18:42:21 · 1120 阅读 · 1 评论 -
pthread_join 详解
pthread_join在Linux中,新建的线程并不是在原先的进程中,而是系统通过一个系统调用clone()。该系统copy了一个和原先进程完全一样的进程,并在这个进程中执行线程函数。不过这个copy过程和fork不一样。 copy后的进程和原先的进程共享了所有的变量,运行环境。这样,原先进程中的变量变动在copy后的进程中便能体现出来那么pthread_join函数有什么用呢???pthrea...转载 2018-05-30 10:20:40 · 6270 阅读 · 0 评论 -
linux下的7种文件类型
普通文件(-)我们用 ls -lh 来查看某个文件的属性,可以看到有类似 -rw-r--r-- ,值得注意的是第一个符号是 - ,这样的文件在Linux中就是普通文件。这些文件一般是用一些相关的应用程序创建,比如图像工具、文档工具、归档工具... .... 或 cp工具等。这类文件的删除方式是用rm 命令目录(d)当我们在某个目录下执行,看到有类似 drwxr-xr-x ,这样的文件就是目录,目录...转载 2018-05-30 10:19:30 · 1923 阅读 · 0 评论 -
浅谈时间函数gettimeofday的成本 ——gettimeofday是由底层do_gettimeofday返回的?!
转自 https://blog.youkuaiyun.com/lqxandroid2012/article/details/51487547 我们在程序中会频繁地取当前时间,例如处理一个http请求时,两次调用gettimeofday取差值计算出处理该请求消耗了多少秒。这样的调用无处不在,所以我们有必要详细了解下,gettimeofday这个函数做了些什么?内核1ms一次的时钟中断处理真的可以支持...转载 2018-04-25 14:33:59 · 307 阅读 · 0 评论 -
TCP四次挥手(图解)-为何要四次挥手
当客户端和服务器通过三次握手建立了TCP连接以后,当数据传送完毕,肯定是要断开TCP连接的啊。那对于TCP的断开连接,这里就有了神秘的“四次挥手”。第一次挥手:主机1(可以使客户端,也可以是服务器端),设置Sequence Number和Acknowledgment Number,向主机2发送一个FIN报文段;此时,主机1进入FIN_WAIT_1状态;这表示主机1没有数据要发送给主机2了;第二次挥...转载 2018-03-12 10:09:28 · 340 阅读 · 0 评论 -
Linux TCP拥塞控制算法原理解析
TCP拥塞控制名词解释:1.awnd(advised window) 通告窗口,由接收端tcp发送给发送端tcp,告诉发送端自己能用于接收新的数据包的当前可用空间。2.cwnd(congestion window)拥塞窗口,人为引入的变量,用于拥塞控制。因为如果单独使用awnd,每次都按接收端最大窗口发送易引发网络的瞬时拥塞瞬时进入拥塞避免剧烈降低网络利用率。3.ssthresh(slow sta...转载 2018-03-04 00:12:45 · 1210 阅读 · 0 评论 -
Linux程序开发经验总结
转自:http://blog.youkuaiyun.com/lotus302/article/details/187059531. 进程和线程1.1. 进程进程终止有8种方式使进程终止,其中5种为正常终止,3种异常终止方式:1) 从main返回2) 调用exit3) 调用_exit或_Exit4) 最后一个线程从其启动例程返回5) 最后一个线程调用pthread_exit6) 调用abort7...转载 2018-02-24 16:16:07 · 1590 阅读 · 0 评论 -
Linux 技巧:让进程在后台可靠运行的几种方法
我们经常会碰到这样的问题,用 telnet/ssh 登录了远程的 Linux 服务器,运行了一些耗时较长的任务, 结果却由于网络的不稳定导致任务中途失败。如何让命令提交后不受本地关闭终端窗口/网络断开连接的干扰呢?下面举了一些例子, 您可以针对不同的场景选择不同的方式来处理这个问题。nohup/setsid/&场景:如果只是临时有一个命令需要长时间运行,什么方法能最简便的保证它在后台稳定运...转载 2018-02-24 15:27:31 · 210 阅读 · 0 评论 -
linux yum 命令
yum( Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。yum 语法yum [op...转载 2018-02-24 14:35:14 · 196 阅读 · 0 评论 -
互斥量、条件变量与pthread_cond_wait()函数的使用
1.Linux“线程” 进程与线程之间是有区别的,不过linux内核只提供了轻量进程的支持,未实现线程模型。Linux是一种“多进程单线程”的操作系统。Linux本身只有进程的概念,而其所谓的“线程”本质上在内核里仍然是进程。 大家知道,进程是资源分配的单位,同一进程中的多个线程共享该进程的资源(如作为共享内存的全局变量)。Linux中所谓的“线程”只是在被创建时clone了父进程...2018-02-23 15:21:16 · 308 阅读 · 0 评论 -
使用Docker运行Nginx
转自:http://www.ruanyifeng.com/blog/2018/02/nginx-docker.html?from=timeline一、HTTP 服务Nginx 的最大作用,就是搭建一个 Web Server。有了容器,只要一行命令,服务器就架设好了,完全不用配置。$ docker container run \ -d \ -p 127.0.0.2:8080:80 \ ...转载 2018-02-27 13:05:54 · 1951 阅读 · 0 评论