-
Linux epoll
所属栏目:[Linux] 日期:2020-12-13 热度:144
一、 epoll函数集 epoll主要有三个函数: 1. int epoll_create(int size); 创建一个epoll的句柄,size用来告诉内核这个监听的数目一共有多大。这个参数不同于select()中的第一个参数,给出最大监听的fd+1的值。需要注意的是,当创建好epoll句柄后,它就是会[详细]
-
[APUE]文件和目录(中)
所属栏目:[Linux] 日期:2020-12-13 热度:146
一、link、unlink、remove和rename 一个文件可以有多个目录项指向其i节点。使用link函数可以创建一个指向现存文件连接 # include unistd.h int link ( const char *existingpath, const char *newpath);返回值:成功为 0,出错为- 1 该函数创建一个新目录项n[详细]
-
[APUE]进程控制(上)
所属栏目:[Linux] 日期:2020-12-13 热度:90
一、进程标识 ??进程ID 0是调度进程,常常被称为交换进程(swapper)。该进程并不执行任何磁盘上的程序--它是内核的一部分,因此也被称为系统进程。进程ID 1是init进程,在自举(bootstrapping)过程结束时由内核调用。该进程的程序文件在UNIX的早期版本中是/etc[详细]
-
[APUE]标准IO库(下)
所属栏目:[Linux] 日期:2020-12-13 热度:88
一、标准IO的效率 对比以下四个程序的用户CPU、系统CPU与时钟时间对比 程序1:系统IO 程序2:标准IO getc版本 程序3:标准IO fgets版本 结果: 【注:该表截取自APUE,上表中"表3-1中的最佳时间即《程序1》","表3-1中的单字节时间指的是《程序1》中BUFSIZE为1[详细]
-
深究标准IO的缓存
所属栏目:[Linux] 日期:2020-12-13 热度:142
前言 在最近看了APUE的标准IO部分之后感觉对标准IO的缓存太模糊,没有搞明白,APUE中关于缓存的部分一笔带过,没有深究缓存的实现原理,这样一本被吹上天的书为什么不讲透彻呢?今天早上爬起来赶紧找了几篇文章看看,直到发现了这篇博客:http://blog.sina.co[详细]
-
[APUE]系统数据文件与信息
所属栏目:[Linux] 日期:2020-12-13 热度:134
一、口令文件 UNIX口令文件包含下表中的各个字段,这些字段包含在pwd.h头文件中定义的passwd结构体中。 由于历史原因,口令文件是/bin/passwd,而且是一个文本文件,每一行都包括了上表中的七个字段,字段之间用":"分隔,例如一个文件中可能有以下三行: root[详细]
-
[APUE]文件和目录(下)
所属栏目:[Linux] 日期:2020-12-13 热度:188
一、mkdir和rmdir函数 # include sys/types.h # include sys/stat.h int mkdir ( const char *pathname,mode_t mode);返回值:成功 0,失败- 1. mkdir函数创建一个空目录,.和..目录是自动创建的。所指定的文件存取许可权mode由进程的文件方式创建屏蔽字修改[详细]
-
[APUE]进程控制(中)
所属栏目:[Linux] 日期:2020-12-13 热度:184
一、wait和waitpid函数 ??当一个进程正常或异常终止时会向父进程发送SIGCHLD信号。对于这种信号系统默认会忽略。调用wait/waidpid的进程可能会: 阻塞(如果其子进程都还在运行); 立即返回子进程的终止状态(如果一个子进程已经终止正等待父进程存取其终止状态)[详细]
-
作业控制
所属栏目:[Linux] 日期:2020-12-13 热度:197
Shell分前后台来控制的不是进程而是作业(Job)或者进程组(Process Group)。一个前台作业可以由多个进程组成,一个后台作业也可以由多个进程组成,Shell可以同时运行一个前台作业和任意多个后台作业,这称为作业控制(Job Control)。例如用以下命令启动5[详细]
-
终端IO(上)
所属栏目:[Linux] 日期:2020-12-13 热度:158
一、综述 ??终端IO有两种不同的工作方式: 规范方式输入处理。在这种方式中,终端输入以行为单位进行处理。对于每个读要求,终端驱动程序最多返回一行。 非规范方式输入处理。输入字符不以行为单位进行装配 ??如果不做特殊处理,则默认方式是规范方式。vi编辑[详细]
-
[APUE]进程关系(上)
所属栏目:[Linux] 日期:2020-12-13 热度:191
一、终端登录 1. 4.3+BSD终端登录 ??系统管理员创建一个通常名为/etc/ttys的文件,其中,每个终端设备有一行,每一行说明设备名和传到getty程序的参数,这些参数说明了终端的波特率。当系统bootstrap时内核创建进程ID 1,也就是init进程。init进程使系统进入[详细]
-
[APUE]进程关系(下)
所属栏目:[Linux] 日期:2020-12-13 热度:95
一、控制终端 ??对话期和进程组有一些其他特性: 一个对话期可以有一个单独的控制终端。通常是我们在其上登录的终端设备或伪终端设备。 建立与控制终端连接的对话期首进程,被称之为控制进程 一个对话期中的几个进程组可以被分成一个前台进程组以及一个或几[详细]
-
[APUE]UNIX进程的环境(下)
所属栏目:[Linux] 日期:2020-12-13 热度:172
一、共享库 ??共享库使得可执行文件中不再需要包含常用的库函数,而只需在所有进程都可存取的存储区中保存这种库例程的一个副本。程序第一次执行的时候或第一次调用某个库函数的时候,用动态链接方法将程序与共享库函数相链接,这减少了每个可执行文件的长度[详细]
-
socket编程为什么需要htons(), ntohl(), ntohs(),htons() 函数
所属栏目:[Linux] 日期:2020-12-13 热度:59
欢迎访问我的最新博客:https://blog.fanscore.cn 在C/C++写网络程序的时候,往往会遇到字节的网络顺序和主机顺序的问题。这是就可能用到htons(),ntohl(),ntohs(),htons()这4个函数。 网络字节顺序与本地字节顺序之间的转换函数: htonl()-- " Host to Netwo[详细]
-
[APUE]文件和目录(上)
所属栏目:[Linux] 日期:2020-12-13 热度:142
一、文件权限 1. 各种ID 我在读这一章时遇到了各种ID,根据名字完全不清楚什么意思,幸好看到了这篇文章,http://blog.csdn.net/ccjjnn19890720/article/details/6990656,总结一下 每一个进程其实对应了6个以上的ID,它们分别是:实际用户ID、实际组ID( 我[详细]
-
CentOS安装SVN服务器
所属栏目:[Linux] 日期:2020-12-13 热度:79
Step1 :安装svn服务器 $ yum install subversion ? Step2 :创建SVN版本库目录 $ mkdir /workplace/svnrepos ? Step3 :创建版本库 $ svnadmin create /workplace/svnrepos 执行这个命令后会在/workplace/svnrepos目录下生成如下文件 ? Step4 :设置账号密码 $[详细]
-
samba服务器安装,共享nginx目录
所属栏目:[Linux] 日期:2020-12-13 热度:112
Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件,类似于win的网上邻居,让windows和linux实现文件共享 1.安装smaba服务 yum install samba samba-client samba-swat 装完后: Samba服务器安装完毕,会生成配置文件目录/etc/samba和其它一些samba[详细]
-
Shell笔记
所属栏目:[Linux] 日期:2020-12-13 热度:74
#!/bin/ bashvar2 = ' var2 ' echo $var2 ${var2}var2 = var2_1 ' #变量可以重复定义但变量名前不加$var3 = var3 readonly var3 #将var3声明为只读变量#var3 = var3_1 这里就不能再改变var3的值了var4 = var4 unset var4 #删除var4变量# ${var4} 这里不能再[详细]
-
vim常用命令
所属栏目:[Linux] 日期:2020-12-13 热度:130
1.显示行号????????????? :set number(带冒号) 2.跳转到文件底部???? :$ 3.跳转到文件头??????? :1[详细]
-
centos6.5 下搭建lamp环境
所属栏目:[Linux] 日期:2020-12-13 热度:134
一直以为很麻烦,实际操作起来并没有遇到什么问题,yum源是163,php版本是5.3(有点老,以后再更新吧):详细步骤如下: 第一步:安装php mysql apache yum -y install httpd php mysql mysql-server php-mysql 第二步:安装apache扩展: yum -y install http[详细]
-
虚拟文件系统(VFS)
所属栏目:[Linux] 日期:2020-12-13 热度:196
原文链接:http://www.orlion.ga/1008/ linux在不同的文件系统之上做了一个抽象层,使得文件、目录、读写访问等概念都成为抽象层概念,这个抽象层被称为虚拟文件系统(VFS)。 linux内核的VFS子系统如下: ????每个进程在PCB(Process Control Block)中都保存着[详细]
-
Linux常用网络命令
所属栏目:[Linux] 日期:2020-12-13 热度:57
1.tracepath tracepath追踪出到指定的目的地址的网络路径,并给出在路径上的每一跳(hop)。如果你的网络有问题或是慢了,tracepath可以查出网络在哪里断了或是慢了。 命令格式: traceroute[-dFlnrvx][-f存活数值][-g网关...][-i网络界面] [-m存活数值][-p[详细]
-
Centos8安装Docker提示:package docker-ce-3:19.03.8-3.el7.x86
所属栏目:[Linux] 日期:2020-12-13 热度:168
?Centos8安装Docker提示:package docker-ce-3:19.03.8-3.el7.x86_64 requires containerd.io = 1.2.2-3,but none of the providers can be installed ? ?centos8默认使用podman代替docker,所以需要containerd.io 解决方法 执行命令: ? yum install https:[详细]
-
Linux系列:快捷键、目录结构、用户目录
所属栏目:[Linux] 日期:2020-12-13 热度:132
一.快捷键 1.历史命令 查看历史命令:history [root@centos-master ~ ]# history 1 2020 - 10 - 25 21 : 03 : 39 2 09 - 17 20 : 43 : 52 ls [root@centos-master ~ ls 3 54 4 57 cd / 5 58 6 50 : 31 cd / 7 33 ls 向上遍历:ctrl+p? 方向键向上 向下遍历:ctr[详细]
-
o.s.c.a.n.c.NacosPropertySourceBuilder : get data from Nacos
所属栏目:[Linux] 日期:2020-12-13 热度:177
昨天部署项目到公司内部开发服务器上,部署显示是成功,结果出现了这样的错误: o.s.c.a.n.c.NacosPropertySourceBuilder : get data from Nacos error,dataId:application-dev.yaml 通常这样的错误是因为IDE对应的文件字符编码,改下字符编码就可以了。 但我[详细]