![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Unix编程
文章平均质量分 76
zjplus
这个作者很懒,什么都没留下…
展开
-
fork产生僵死子进程的问题
之前写的一个程序,调用fork产生子进程,子进程进行实际工作,父进程则使用信号处理函数来接收子进程结束信号,然后调用waitpid,处理子进程的僵死进程。按理说这样做,应该不会出现僵死进程了,但是,经过大量实际数据测试后,还是会出现僵死进程。一直都找不到问题原因,最后使用ps命令得到父进程的pid,并用gdb调试器attach父进程,执行bt命令,发现堆栈情况如下(gdb) bt#原创 2008-03-15 14:41:00 · 1123 阅读 · 0 评论 -
AIX下生成动态库的问题
AIX上编译一个库,Makefile部分内容如下,libwrapper.so: $(libwrapper_so_OBJECTS) @echo ${COMPILE} @echo $(libwrapper_so_OBJECTS) ${COMPILE} -shared $(libwrapper_so_OBJECTS) -o $(LIB)/libwrapper.s原创 2008-04-20 19:24:00 · 1535 阅读 · 0 评论 -
C++异常效率的测试
一直都不知道异常的效率损失有多大,在程序中都一直避免使用异常。虽然网上说一个好的C++实现,使异常造成的效率可以减小到5%,然而《C++程序设计语言》一书中指出,理论上一个好的C++实现,可以不会造成效率损失。异常的效率损失到底如何呢,为了搞懂这个东西,我写了如下三个测试程序: normal.cpp 不使用try语句 try_with_no_exception.cpp 使用try语原创 2008-06-12 19:27:00 · 2558 阅读 · 2 评论 -
APUE学习笔记:第八章 进程控制
1、进程标识符,ID为0的进程是调度进程,也称交换进程swapper,是内核的一部分,而ID为1的则为init进程,获取进程ID有如下一些函数#include pid_t getpid(void);pid_t getppid(void);uid_t getuid(void);uid_t geteuid(void);gid_t getgid(void);gid_t getegid(void);2原创 2008-10-14 17:10:00 · 630 阅读 · 0 评论