netListener.File

Posted by 夏泽民

POSIX提供了fork和exec调用来启动一个新进程,fork复制父进程,然后通过exec来替换自己要执行的程序。在go中,我们使用exec.Command或者os.StartProcess来达到类似效果。 在启动子进程时,需要让子进程知道,我正处于热更新过程中。通常使用环境变量或者参数来实现,例子中使用了-graceful这个参数。 file := netListener.File() // this returns a Dup() path := “/path/to/executable” args := []string{ “-graceful”}



lantern mac编译 Proxy SwitchyOmega

Posted by 夏泽民

git clone –depth=1 https://github.com/getlantern/lantern.git



shell $(( ))、$( )、``与${ }的区别

Posted by 夏泽民

$( )与 (反引号)都是用来作命令替换的。 命令替换与变量替换差不多,都是用来重组命令行的,先完成引号里的命令行,然后将其结果替换出来,再重组成新的命令行。 $( )与`` 在操作上,这两者都是达到相应的效果,但是建议使用$( ),理由如下:



shutdown 源码分析

Posted by 夏泽民

我们知道在go 1.8.x后,golang在http里加入了shutdown方法,用来控制优雅退出。什么是优雅退出? 简单说就是不处理新请求,但是会处理正在进行的请求,把旧请求都处理完,也就是都response之后,那么就退出。



git彻底删除提交历史

Posted by 夏泽民

git为我们提供了”后悔药”, 但有时候我们会将一些敏感数据提交至git仓库,虽然使用了git rm删除文件,但是文件仍然存在在提交历史中。git提供了两个工具给我们去彻底删除提交历史的方法。 git filter-branch



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