feng 言 feng 语

  • Home

  • Archives

Linux 系统调用 exec

Posted on 2017-04-20

exec

exec 函数族的作用是执行参数所指定的可执行文件或脚本。这个函数会替换掉当前进
程的内存镜像,也就是执行这个函数成功后,调用该函数的程序就不存在了,像是移
花接木一样。Linux下的的 exec 并不是一个函数,而是一族函数,一共有如下几个函
数,原型为:

Read more »

Linux 系统调用 fork()、vfork() 和 clone()

Posted on 2017-04-19

fork()

生成一个进程,实际上就是把当前进程复制一份。 除了一些特殊的方面(比如,进程
号),新的进程(子进程)和老的进程(父进程)几乎一模一样。fork()虽然只调
用了一次,但会在父进程和子进程中分别返回(等于是一共返回了两次),父进程中
返回所创建子进程的pid,子进程中返回 0。在 fork() 结束后,父进程和子进程
的执行顺序不确定,由高度程序决定谁先执行。不过可以在父进程中调用wait()等
待子进程结束。

Read more »

Emacs 插入文件名函数

Posted on 2017-04-15

今天在写一个头文件的时候想要插入当前文件的文件名,因为我用的是Spacemacs的
配置,没有现成的插入文件名的快捷方式(或者我不知道?),于是就想自己写一个。
代码如下:

Read more »

[译]Emacs: 正则表达式教程

Posted on 2017-03-24

原文地址:Emacs: Regex Tutorial

这篇文章是 emacs 正则表达式的教程。正则表达式可以帮助你找到特定模式的字符串。

Read more »

Shell 的一些使用技巧

Posted on 2017-03-14

记录一些shell的使用技巧。

使 $PATH 的内容更易读

$PATH 变量包含了环境变量,有时可能会因为某些原因想对它的值进行查看,可是它
的内容是由冒号分隔的一些目录,格式并不利于阅读,可用尝试如下方法进行格式化:

Read more »

Emacs Tips

Posted on 2017-03-14

记录一些 Emacs(Spacemacs) 的使用技巧。

禁用 evil-escape 插件1

在使用 Spacemacs 时突然发现一个问题,在快速地按下 fd 两个键时会退出到 "normal state", fd 又是比较常用的一个组合,在写文件操作的代码时经常能遇到, 网卡搜索之后发现了原来是这个 package 搞的鬼,于是禁用之。当然你也可以根据文 档说明更改组合键。

Read more »

[译]Bash 进程替换(process substitution)

Posted on 2017-03-12

原文地址:Bash process substitution

对于像diff这样可以接收多个文件作为参数的命令来说,如果能既可以接收文件作
为参数,又能接收其他命令的输出作为参数就再好不过了。举例来说,如果你想用命
令diff -u来比较ps与ps -e的输出结果,一个简单的方法把它们的输出存入文
件,再分别比较:

Read more »

bash 中减号(-)与 stdin/stdout

Posted on 2017-03-12

问题起源于在一次操作中,我想要搜索某个命令的输出内容,但并不是很确定要搜索
什么,只是有一个模糊的概念,而且命令的输出内容不少,所以要进行多次尝试。

刚开始想到要用 grep来做,但是每次尝试搜索新的字符串,都要重新执行命令。虽
然重新执行命令可以通过命令历史,但还是不太喜欢,更何况grep的输出并不直观,
有时还需要查看上下文,太不灵活。想到自己对vim的操作和正则表达式都更熟悉,
就想把命令的输出导入到vim里,然后再进行操作。可是怎么才能做到呢?

Read more »

TLB 和 cache 辨析

Posted on 2017-01-06

起因

在看 On u-Kernel Construction 这篇论文的时候,发现自己对 TLB(Translation
Lookaside Buffer) 和 CPU cache 的概念不是很理解,便找了些资料了解了一下,在
这里记一下心得。

Read more »

从一个 GitHub 问题中学到的

Posted on 2016-11-27

最近在使用 github 时碰到一些小问题,在这时记录一下。

一直对函数式编程比较好奇,以前也看过The Little Schemer,但是书中的代码并不适合
尝试,因此虽然看了一遍,对代码却并没有什么感觉。后来了解到了 clojure 这门语言,
就在图书馆借了一本Living Clojure来学习,书最后有一些稍微完整一些的练习题目(就
是每个题目是一个单独的工程),就拿来练习。在 fork 了作者提到的 repo 后就先做了一
个 alphabet-cipher,因为使用 git 经验太少,所以直接就在 master 分支上进行修改,
后来想要在作者的原 repo 里加入自己的解法链接的时候遇到了一些麻烦。

Read more »
1…678
fengqi

fengqi

78 posts
57 tags
GitHub StackOverflow
© 2019 fengqi
Powered by Hexo v3.7.1
|
Theme — NexT.Pisces v6.3.0
0%