dup dup2

Posted by 夏泽民

有时我们希望把标准输入重定向到一个文件,或者把标准输出重定向到一个网络连接。 dup()与dup2()能对输入文件描述符进行重定向。 int dup(int oldfd); int dup2(int oldfd, intnewfd); dup函数创建一个新的文件描述符,该新文件描述符和原有文件描述符oldfd指向相同的文件、管道或者网络连接。 并且dup返回的文件描述符总是取系统当前可用的最小整数值。dup2和dup类似,不过它将返回第一个不小于oldfd的整数值。dup和dup2失败时返回-1并设置errno。



Reactor and Proactor

Posted by 夏泽民

一、 Reactor and Proactor 1 概述 IO读写时,多路复用机制都会依赖对一个事件多路分离器,负责把源事件的IO 事件分离出来,分别到相应的read/write事件分离器。涉及到事件分离器的两种模式分别就是 Reactor和Proactor,Reactor是基于同步IO的,Proactor是基于异步IO的。



fsnotify bee 热编译

Posted by 夏泽民

参考: https://github.com/howeyc/fsnotify https://beego.me/docs/install/bee.md bee 使用fsnotify包,使用kqueue检查文件变化,根据修改时间戳,每s检查一次,如果有变化就重新编译,调用路径如下: beego/bee/bee.go var commands = []*Command{ cmdNew, cmdRun, … } func main() { … for _, cmd := range commands { … os.Exit(cmd.Run(cmd, args)) … }



Git内部原理 blob tree commit

Posted by 夏泽民

参考:https://git-scm.com/book/zh/v2/Git-%E5%86%85%E9%83%A8%E5%8E%9F%E7%90%86-%E5%BA%95%E5%B1%82%E5%91%BD%E4%BB%A4%E5%92%8C%E9%AB%98%E5%B1%82%E5%91%BD%E4%BB%A4 Git 内部原理 不管你是从前面的章节直接跳到了本章,还是读完了其余各章一直到这,你都将在本章见识 Git 的内部工作原理和实现方式。我个人发现学习这些内容对于理解 Git 的用处和强大是非常重要的,不过也有人认为这些内容对于初学者来说可能难以理解且过于复杂。正因如此我把这部分内容放在最后一章,你在学习过程中可以先阅 读这部分,也可以晚点阅读这部分,这完全取决于你自己。



rsync

Posted by 夏泽民

它比scp更强大,支持“不覆盖”原目录 例子: rsync -avz –progress /root/client/ root@202.112.23.12:/home/work/



Search

Popular posts

Anything in here will be replaced on browsers that support the canvas element

Recent posts

This blog is maintained by 夏泽民

Get in touch with me at 465474307@qq.com

Subscribe to our mailing list

* indicates required