`
weiyinchao88
  • 浏览: 1235021 次
文章分类
社区版块
存档分类
最新评论

Unix编程FAQ

 
阅读更多

Unix编程FAQ v0.10

无意中找到一个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命令读取进程表
守护程序工具函数
调制解调器控制范例程序
事务控制范例程序
分享到:
评论

相关推荐

    UNIX编程FAQ

    本中文HTML文档是在原始中文版(纯文本格式)的基础上用DocBook的形式重新整理 并由jade转化而成。 <br/>本HTML文档可以用于非商业目的的使用和再发布(发布时请保持完整性)。 同样本HTML中文档没有任何...

    UNIX_Programming_FAQ_中文版.pdf

    编程技巧 **5.1 如何使用通配符比较字符串:** - **5.1.1 如何使用文件名通配模式比较字符串:** - 可以使用`fnmatch`函数来比较字符串是否匹配指定的通配符模式。 - 例如,可以用来检查文件名是否符合某种模式...

    UNIX Programming FAQ 中文版

    总之,`fork`函数是UNIX编程中的一个核心概念,理解其工作原理和注意事项对于编写高效、稳定的多进程应用程序至关重要。通过掌握`fork`函数的行为和子进程继承机制,开发者可以更好地设计和实施复杂的进程间通信方案...

    UNIX Programming FAQ 中文版 v0.1.0.rar

    在UNIX编程中,以下是一些关键知识点: 1. **进程管理**:UNIX系统中的进程是程序执行的实例。了解如何创建(fork)、终止(exit)和控制(wait、waitpid)进程是UNIX编程的基础。此外,进程间通信(IPC)包括管道...

    带目录PDF 版Unix编程常见问题解答(FAQ / Frequently Asked Questions)(v1.37)(中文版 v0.1.0)

    本文档是关于Unix编程常见问题解答(FAQ)的中文版本,版本号为v1.37,中文版为v0.1.0。该文档最初由Patrick Horgan于1996年5月起草,之后由Andrew Gierth接手编辑并持续更新。文档的目标是为Unix编程领域的初学者和...

    Unix编程常见问题解答.pdf

    ### Unix编程常见问题解答 #### 1. 进程控制 **1.1 创建新进程:`fork()`** ##### 1.1.1 `fork()` 函数干什么? `fork()` 是一个用于创建新进程的标准 Unix 系统调用。当一个进程调用 `fork()` 时,操作系统会...

    Unix编程常见问题解答.zip

    "Unix编程常见问题解答.zip"这个压缩包文件似乎包含了一份专门针对这些问题的FAQ文档——"faq-0.1.0-05202001.txt"。这份文档可能涵盖了从基本的命令行操作到复杂的系统调用和多线程编程的广泛主题。以下是一些可能...

    Unix 编程常见问题解答(中文版)

    ### Unix编程常见问题解答知识点概览 #### 一、进程控制 **1.1 创建新进程:fork()** - **1.1.1 fork() 函数的作用** - `fork()` 是一个非常重要的系统调用,用于创建一个新的进程。这个新进程几乎与父进程完全...

    UNIX Programming FAQ 中文版 v0.pdf

    编程技巧 **5.1 如何使用通配符比较字符串** - **5.1.1 如何使用文件名通配模式比较字符串** 可以使用`fnmatch`函数来比较字符串与通配模式是否匹配。 - **5.1.2 如何使用正则表达式比较字符串** 使用`regex...

    apue UNIX环境高级编程 程序包

    《APUE UNIX环境高级编程》程序包是一份包含详尽UNIX系统编程实例的资源集合,旨在帮助开发者深入理解和掌握高级UNIX编程技术。该程序包的独特之处在于,所有的实例代码都已被编译并通过验证,生成了可以直接运行的...

    设计_Linux多线程编程FAQ[参考].pdf

    根据提供的文件信息,下面将详细阐述Linux多线程编程的相关知识点,特别是从FAQ的内容中提炼出来的技术要点。 Linux多线程编程是一种在Linux操作系统下进行高性能程序开发的技术,它允许程序同时执行多个线程,从而...

    unix 网络编程实例以及各种疑难解答

    本FAQ适用于希望学习或已经从事Unix网络编程的开发人员,无论是新手还是有一定经验的程序员都能从中获益。 ##### 1.3 Sockets简介 Sockets是一种在不同计算机之间进行通信的机制,它提供了一种标准的API(应用程序...

    编程及C&C++初学者 FAQ.pdf

    ### 编程及C/C++初学者FAQ知识点详解 #### 一、开始之前 ##### FAQ那是什么? FAQ代表“Frequently Asked Questions”,即常见问题解答。它是一种文档形式,用于汇集并解答用户常问的问题,旨在减少重复回答相同...

    C和C++编程心得—前人的经验总结

    - 《UNIX编程艺术》:这本书介绍了Unix系统编程的一般原则和最佳实践。 - 《Advanced Programming in the UNIX Environment》:这本书深入讲解了Unix系统编程的高级技巧。 **数据结构和算法** - 《算法导论》:这...

    Oracle 必备FAQ中文手册 chm格式

    这份"Oracle必备FAQ中文手册"涵盖了Oracle数据库的关键领域,包括PL/SQL编程、架构体系、备份与恢复、性能调整、网络配置以及操作系统相关的知识。下面将详细阐述这些领域的关键知识点。 1. **PL/SQL**: PL/SQL是...

    Python版FAQ

    - **中国Unix网Python论坛**:这是中国最大的Unix/Linux技术社区,也包含了Python讨论区,适合中文用户学习交流。 ### 5. Python IDE推荐 选择合适的IDE(集成开发环境)对于提高Python编程效率至关重要。一些流行...

    oracle 学习包含SQL.TERADATA,UNIX

    综上所述,这个压缩包提供了一个全面的学习路径,从基础的SQL开始,到Teradata的大数据处理,再到Unix系统的操作,最后深入到Oracle的特性和编程,对于希望在IT领域特别是数据库管理方向发展的人来说,这是一个非常...

    VxWorks中文FAQ

    这些FAQ不仅涵盖了VxWorks的基本概念和技术细节,还提供了实用的编程示例和解决问题的方法。对于初学者和有一定经验的开发者来说,这些都是非常宝贵的学习资源。通过理解和应用这些知识点,开发者可以更好地掌握...

    FAQ-Socket.txt

    本FAQ旨在解答关于在Unix环境中利用套接字接口进行网络编程时常见的问题。它为那些希望了解或正在学习如何使用套接字进行网络通信的开发者提供了一个宝贵的资源。 #### 1.2 此FAQ的目标读者是谁? 此FAQ主要面向...

Global site tag (gtag.js) - Google Analytics