pipe 函数产生的文件描述符

我们知道 pipe 可以产生一对管道,用于两个进程之间的单工通信,今天在接触一个代码的时候,发现他有一个做法:为每个进程都准备读写管道的文件描述符,同时,赋初始值为 0 和 1,然后根据需要,再进行或者不进行 pipe 管道的创建,之后进行一些业务逻辑,在后面,进行一个硬编码的比较:如果该进程的管道文件描述符为 0……

阅读全文

在 HTTP 协议下分段下载文件

最近想要搞一个 linux 下的多线程下载工具,就像 wget 那样可以,只不过是多线程的,其中遇到一个问题,就是 http 如何分段下载,查找资料最后看到这里,http://www.rosoo.net/a/201006/… 假如一个文件有1000个字节,那么其范围就是0-999,则: Range: bytes=500- 表示读取该文件的500-999字节,共500字节。 ……

阅读全文

linux 下 fork 后的文件资源处理问题

我们都知道 linux 下 fork 一个子进程出来,他能够继承父进程的文件资源,网络资源等,也从父进程那里拷贝了代码段,数据段,缓冲区等等到自己这里有了新的一份,那么,如果父子进程对于打开的文件资源操作不同,会是怎样的结果呢,先看正常的使用代码 #include <stdio.h> #include <unistd.h> int main(i……

阅读全文

printf 一定需要 stdio.h 吗

刚刚看到一个范例代码,调用了 printf 函数,但是却没有包含 stdio.h 的头文件,这种写法第一反应就应该是不对的啊,本着动手实验的原则,试了一下 zrj@vm:~/c/test$ cat test.c int main() { printf("hello worldn"); return 0; } zrj@vm:~/c/test$ gcc -o test test.c test.c: 在函数‘main’中: t……

阅读全文

Apache ab 压力测试

apache 的 ab 真的是非常容易用,直接的说,就是下面这条命令就够了 C:Program FilesApache Software FoundationApache2.2bin>ab -n 100 -c 10 http://localhost/index2.html 这里我 index 的 html 文件就是 apache 的 it works 文件,在我的机子上,测试结果的吞吐率是 2000 多,应该算是比较低的一个数字了,对于……

阅读全文

try git 的一些学习笔记

昨天由江阁介绍,发现了一个在线试用 git 的好地方,http://try.github.com/levels/1…,今天重新做一遍,同时当作笔记记录下来: 首先,使用 git init 命令来初始化 git 仓库,这个命令的主要作用是建立 .git 隐藏文件夹,里面存放着 git 本身跟踪用的一些文件,具体细节没有探究。 我们随时可以使用 git status ……

阅读全文

apt update 时软件包说明的数量了超出本程序的处理能力

一个上午基本上都在折腾这个了,坑爹啊 继上次 Linux 里面配多个 Python 出现 easy_install 出错的问题之后,问了江阁,他给了两个方法,一个用系统的包管理升级到 python 2.7 ,另外一个就是自己一切手动来。 上午试了一下自己配一点,发现没到那个水平,配的时候总是会出现各种错,而且错的比较灵异,想来是对 Linux 的……

阅读全文

Linux 下多个 Python 版本造成 easy_install 出错

debian 默认有 python 2.5 ,我下了 2.73 的源码包自己编译安装了,也改了系统的默认调用 sudo rm /usr/bin/python sudo ln -s /usr/lib/python2.73/python2.7 /usr/bin/python 这样确实可以默认启用 2.73 的 python ,但是后来使用 sudo apt-get install python-setuptools sudo easy_install pip 的时候就报错,报……

阅读全文