05 2021 档案

摘要:安装好git后, 如何配置连接至gitee ? 首先, 需要在官网注册一个gitee账号, 然后进行以下配置步骤: 1. 设置账号 $ git config --global user.name "your name" 2. 设置邮箱 $ git config --global user.email 阅读全文
posted @ 2021-05-31 17:39 明明1109 阅读(2035) 评论(0) 推荐(0) 编辑
摘要:1. 出错处理errno 每个进程维护一个全局整型变量errno, 记录系统(调用)的最后一次错误代码. errno及其常量值定义位于<errno.h>. 以前, errno不是线程安全的, 其定义是: extern int errno; 现在, 为支持多线程环境, errno定义是: extern 阅读全文
posted @ 2021-05-27 15:21 明明1109 阅读(1615) 评论(0) 推荐(0) 编辑
摘要:1. 进程运行时间的概念 如何度量进程的运行时间? 可以用times函数获取进程的墙上时钟时间,用户CPU时间,系统CPU时钟时间。 1.1 墙上时钟时间 墙上时钟时间 wall clock time: 又简称时钟时间,从进程开始运行到结束,系统时钟走过的时间(时钟数),包含了进程阻塞、等待的时间。 阅读全文
posted @ 2021-05-27 01:03 明明1109 阅读(2666) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2021-05-27 00:55 明明1109 阅读(148) 评论(0) 推荐(0) 编辑
摘要:使用aio的时候, 出现编译问题: 对‘aio_read’未定义的引用( undefined reference to 'aio_read' ). 要如何解决 ? 确认已经include头文件 aio.h; 编译的时候, 链接librt库, 命令: $ gcc async_demo.c -lrt 选 阅读全文
posted @ 2021-05-25 14:35 明明1109 阅读(802) 评论(0) 推荐(0) 编辑
摘要:1.select和poll IO多路转换技术, select, poll的原理是: 通过将待监听文件描述符(fd)加入集合, 然后通过查询其调用返回值, 取得数据有动静的fd数量, 再轮询集合中每个fd, 如果有数据, 就直接读取; 如果没有数据, 就等待下一次查询. select和poll实现了异 阅读全文
posted @ 2021-05-25 01:27 明明1109 阅读(2501) 评论(0) 推荐(0) 编辑
摘要:通过gethostname + getaddrinfo , 得到本机ip地址为127.0.1.1 , 而非127.0.0.1. 为何? 源代码 来源: Linux编程获取本机IP地址的几种方法 int main(int argc, const char **argv) { int ret; char 阅读全文
posted @ 2021-05-24 00:09 明明1109 阅读(1469) 评论(0) 推荐(0) 编辑
摘要:文件截断, 指的是将文件内容分成两半, 只保留需要的文件长度的那部分. 通常, 将文件长度截断为0. 文件截断方式: 1. 使用系统调用open/fopen O_TRUNC截断 open截断文件, 会清空文件已有内容, 即保留长度为0. 指定O_TRUNC标识时, 文件必须可写方式(如O_RDWR, 阅读全文
posted @ 2021-05-23 00:31 明明1109 阅读(5215) 评论(0) 推荐(1) 编辑
摘要:1. 守护进程创建步骤 守护进程是没有终端的进程, 运行在后台, 常在系统引导时启动. 那么如何创建守护进程呢? 参照APUE 13.3, 创建守护进程步骤: 调用umask设置进程创建文件的权限屏蔽字(umask), 便于守护进程创建文件 umask通常设为0, 如果调用库函数创建文件, 可设置为 阅读全文
posted @ 2021-05-22 00:45 明明1109 阅读(705) 评论(0) 推荐(0) 编辑
摘要:守护进程 没有控制终端, 运行在后台的特殊进程, 用于执行特定的系统任务, 这样的进程称为守护进程. 守护进程长期生存, 常在系统引导时装入启动. 一般的网络服务, 都是以守护进程形式存在提供服务. 用户层守护进程的父进程是init进程(pid = 1). 守护进程查看方式: 基于BSD的系统, 执 阅读全文
posted @ 2021-05-21 01:24 明明1109 阅读(323) 评论(0) 推荐(0) 编辑
摘要:1. 可重入与异步安全 1.1 可重入 可重入函数, 也可以称为是异步信号安全的(async-signal safe), 两者是同一个概念. 可重入函数必定是线程安全的, 而线程安全的函数却不一定可重入. 因为 只有当线程安全函数也可能被信号处理程序调用, 如果信号处理程序的调用也是安全的, 此时, 阅读全文
posted @ 2021-05-20 20:38 明明1109 阅读(950) 评论(0) 推荐(0) 编辑
摘要:Linux 系统时间和日期函数 总览 各函数之间关系 其他相关时间函数: ctime 将日期和时间转化成ASCII时间. #include <time.h> char *ctime(const time_t *timep); char *ctime_r(const time_t *timep, ch 阅读全文
posted @ 2021-05-19 20:50 明明1109 阅读(477) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2021-05-19 00:27 明明1109 阅读(44) 评论(0) 推荐(0) 编辑
摘要:通过stat()读取指定文件状态, 然后通过宏测试struct stat的st_mode成员得到文件类型. stat函数有3个版本, 它们的区别是stat参数需要一个文件路径, fstat需要一个已打开文件描述符, lstat不跟随符号链接(当文件是符号链接时, 获得符号链接自身文件状态, 而不是获 阅读全文
posted @ 2021-05-15 11:12 明明1109 阅读(1489) 评论(0) 推荐(0) 编辑
摘要:1. 磁盘布局 1.1 分区 一个磁盘可分为多个分区, 每个分区须先用格式化工具(如mkfs)格式化成指定格式的文件系统, 才能用于存储文件. 磁盘文件系统布局: 1.2 块 block, 文件系统中的最小存储单位, 大小在格式化时规定 设置方式, 格式化时输入命令: $ mke2fs -b 102 阅读全文
posted @ 2021-05-15 01:27 明明1109 阅读(142) 评论(0) 推荐(0) 编辑
摘要:假设计算机要存储4byte int a = 0x12345678, 通常有2种存储方式: 大端, 和小端. 具体是哪种, 取决于计算机体系结构(硬件) 字节地址(序号) 低->高 0 1 2 3 大端 12 34 56 78 小端 78 56 34 12 上面表格都以16进制表示, 省略了"0x". 阅读全文
posted @ 2021-05-13 19:26 明明1109 阅读(550) 评论(0) 推荐(0) 编辑
摘要:概述 主要高级IO: 非阻塞IO 记录锁(文件锁) IO多路复用(I/O multiplexing) 异步IO 存储映射 高级IO,涉及到文件的IO操作,必然会用到文件描述符(fd),而且依赖于fcntl函数支持。 非阻塞IO 阻塞读文件 当读某些文件时,如果文件没有数据,会导致读操作阻塞,如: 读 阅读全文
posted @ 2021-05-11 22:31 明明1109 阅读(436) 评论(0) 推荐(0) 编辑
摘要:vimrc 普通用户只有只读权限,修改需要取得root权限。 $ sudo vim /etc/vim/vimrc 在vimrc文件末尾添加 set ts=4 # 等价于tabstop=4,将一个\t等价替换为4个空格 set softtabstop=4 # insert模式下,按下tab键后所产生的 阅读全文
posted @ 2021-05-06 20:32 明明1109 阅读(1201) 评论(0) 推荐(0) 编辑