阳光烂灿的日子

--记录所有碎碎念

Unix编程FAQ v0.10

| Comments

无意中找到一个Unix编程FAQ,更好运的是这已经被翻译成中文版了!虽然比较旧了,但还是很有用。
linuxforum.net提供。感谢他们所做的贡献。

下面贴出章节目录。原文还是在linuxforum.net上,这样应该不算是盗链吧!

Table of Contents
关于
原英文版
原始中文版
本中文HTML文档
1. 进程控制
1.1. 创建新进程:fork函数
1.1.1. fork函数干什么?
1.1.2. fork函数与vfork函数的区别在哪里?
1.1.3. 为何在一个fork的子进程分支中使用_exit函数而不使用exit函数?
1.2. 环境变量
1.2.1. 如何从程序中获得/设置环境变量?
1.2.2. 我怎样读取整个环境变量表?
1.3. 我怎样睡眠小于一秒?
1.4. 我怎样得到一个更细分时间单位的alarm函数版本?
1.5. 父子进程如何通信?
1.6. 我怎样去除僵死进程?
1.6.1. 何为僵死进程?
1.6.2. 我怎样避免它们的出现?
1.7. 我怎样使我的程序作为守护程序运行?
1.8. 我怎样象ps程序一样审视系统的进程?
1.9. 给定一个进程号,我怎样知道它是个正在运行的程序?
1.10. system函数,pclose函数,waitpid函数的返回值是什么?
1.11. 我怎样找出一个进程的存储器使用情况?
1.12. 为什么进程的大小不缩减?
1.13. 我怎样改变我程序的名字(即“ps”看到的名字)?
1.14. 我怎样找到进程的相应可执行文件?
1.14.1. 那么,我把配置文件放在哪里里呢?
1.15. 为何父进程死时,我的进程未得到SIGHUP信号?
1.16. 我怎样杀死一个进程的所有派生进程?
2. 一般文件操作(包括管道和套接字)
2.1. 如何管理多个连接?
2.1.1. 我如何使用select()函数?
2.1.2. 我如何使用poll()?
2.1.3. 我是否可以同时使用SysV IPC和select()/poll()?
2.2. 我如何才能知道和对方的连接被终止?
2.3. 什么是读取目录的最好方法?
2.4. 我如何才能知道一个文件被另外进程打开?
2.5. 我如何锁住一个文件?
2.6. 我如何能发现一个文件已由另外一个进程更新?
2.7. 请问du是怎样工作的?
2.8. 我如何得到一个文件的长度?
2.9. 我如何像shell里一样扩展在文件名里的’~’?
2.10. 有名管道(FIFO)能做什么?
2.10.1. 什么是有名管道?
2.10.2. 我如何建立一个有名管道?
2.10.3. 我如何使用一个有名管道?
2.10.4. 能否在NFS上使用有名管道?
2.10.5. 能否让多个进程同时向有名管道内写入数据?
2.10.6. 有名管道的应用
3. 终端输入/输出
3.1. 我怎样使我的程序不回射输入?
3.2. 我怎样从终端读取单个字符?
3.3. 我怎样检查是否一个键被摁下?
3.4. 我怎样将光标在屏幕里移动?
3.5. pttys是什么?
3.6. 怎样控制一个串行口和调制解调器?
3.6.1. 串行设备和类型
3.6.2. 设置termios的标志位
4. 系统信息
4.1. 怎样知道我的系统有多少存储器容量?
4.2. 我怎样检查一个用户的口令?
4.2.1. 我怎样得到一个用户的口令?
4.2.2. 我怎样通过用户号得到阴影口令文件中的口令?
4.2.3. 我怎样核对一个用户的口令?
5. 编程杂技
5.1. 我怎样使用通配字符比较字符串?
5.1.1. 我怎样使用文件名通配模式比较字符串?
5.1.2. 我怎样使用正则表达式比较字符串?
5.2. 什么是在程序中发送电子邮件的最好方法?
5.2.1. 简单方法:/bin/mail
5.2.2. 直接启动邮件传输代理:/usr/bin/sendmail
6. 工具的使用
6.1. 我怎样调试fork函数产生的子进程?
6.2. 怎样通过其他库文件建立新的库文件?
6.3. 怎样创建动态连接库(shared library)/dlls?
6.4. 我能更改一个动态连接库里的目标吗?
6.5. 我能在一个运行着的程序中生成堆栈映象吗?
7. 范例程序
捕获 SIGCHLD 信号
读取进程表 - SUNOS 4 版
读取进程表 - SYSV 版
读取进程表 - AIX 4.2 版
使用popen函数和ps命令读取进程表
守护程序工具函数
调制解调器控制范例程序
事务控制范例程序

Comments