UNIX环境高级编程
文章平均质量分 68
xiao_ke_ni
这个作者很懒,什么都没留下…
展开
-
getopt()函数的用法
出处1:http://baike.baidu.com/view/2406693.htm出处2:http://jesserei.blog.163.com/blog/static/121411689200983081421390/另外APUE的P619有解释! 通常 Linux 下的各种命令都有许多的命令行参数可以选择,比如:gcc -g -lm foo.c -o foo ge转载 2012-08-06 21:09:27 · 396 阅读 · 0 评论 -
Unix编程之size_t、ssize_t .
出处:http://blog.csdn.net/lalor/article/details/7426184 对于赶时间的朋友,只看第一段就好了。 首先,我非常肯定以及确定的告诉你ssize_t是有符号整型,在32位机器上等同与int,在64位机器上等同与long int,有没有注意到,它和long数据类型有啥区别?其实就是一样的。size_t 就是无符号型的ssize_t,也就是u转载 2012-08-10 10:15:02 · 435 阅读 · 0 评论 -
关于vfork,exit(0),_exit(0)的思考
以下全都是用vfork!!! /*********example1.c*****************/ #include#include#include#include int glob = 5; int main() { intvar=10; pid_t pid;原创 2012-07-20 18:27:10 · 575 阅读 · 0 评论 -
sigaction实例
出处:http://hi.baidu.com/xu_zhisheng/blog/item/82cbdfd7ab12872607088bdc.html#0 转载+原创加上自己的总结与程序的调试并验证! #include #include #include void show_handler(int sig){ printf("I got signal原创 2012-07-24 22:45:58 · 880 阅读 · 0 评论 -
fcntl的使用
出处:http://blog.sina.com.cn/s/blog_692916ad0100xogq.html 1、获取文件的flags,即open函数的第二个参数: flags = fcntl(fd,F_GETFL,0);2、设置文件的flags: fcntl(fd,F_SETFL,flags);3、增加文件的某个flags,转载 2012-07-29 11:40:38 · 574 阅读 · 0 评论 -
getaddrinfo函数详解 .
出处:http://blog.csdn.net/andyxie407/article/details/1672325 有这样一个C/S程序,server提供一个叫做ruptime的服务,功能是当有客户端连接时调用uptime程序,并将结果发送到client。可是现在的问题是,这个服务系统本来是没有的,所以调用getaddrinfo的时候会返回如下错误:代码:Servn转载 2012-08-01 22:45:58 · 683 阅读 · 0 评论 -
浅析pthread_cond_wait
出处:http://weihe6666.iteye.com/blog/1170141 条件变量是利用线程间共享的全局变量进行同步的一种机制,主要包括两个动作:一个线程等待"条件变量的条件成立"而挂起;另一个线程使"条件成立"(给出条件成立信号)。为了防止竞争,条件变量的使用总是和一个互斥锁结合在一起。一 pthread_cond_wait定义: 函数原型:int pth转载 2012-07-26 16:45:35 · 425 阅读 · 0 评论 -
有关僵尸进程找中的理解,务必在父进程中用wait()函数来处理僵尸进程!
在UNIX 系统中,一个进程结束了,但是他的父进程没有等待(调用wait / waitpid)他, 那么他将变成一个僵尸进程. 但是如果该进程的父进程已经先结束了,那么该进程就不会变成僵尸进程,因为每个进程结束的时候,系统都会扫描当前系统中所运行的所有进程,看有没有哪个进程是刚刚结束的这个进程的子进程,如果是的话,就由Init来接管他,成为他的父进程…… 一个进程在调用exit命令结束转载 2012-07-22 13:29:53 · 2017 阅读 · 0 评论 -
fork后子进程从哪里开始执行
出处:http://hi.baidu.com/okeyes888/item/14559ae22eb72da9ce2d4f04加自己的修改!(代码验证) fork确实创建了一个子进程并完全复制父进程,但是子进程是从fork后面那个指令开始执行的。对于原因也很合逻辑,如果子进程也从main开头到尾执行所有指令,那它执行到fork指令时也必定会创建一个子子进程,如此下去这个小小的程序就可转载 2012-07-22 12:42:22 · 2348 阅读 · 0 评论 -
apue中int sigsuspend(const sigset_t *sigmask)的深入理解
关于sigsuspend() 这个函数想了很久,终于想明白了,这里写下自己的心得与体会。有的是参考别人的帖子,加上自己的程序的调试! 事实求是:首先来代码,离开代码都是浮云! code1: #include "../../include/apue.h"#include "../../include/error.c"#include "../../include/原创 2012-07-24 08:43:01 · 748 阅读 · 0 评论 -
Linux c之 信号屏蔽字sigprocmask()
出处:http://blog.163.com/shaoyi1110@126/blog/static/7432840120124852546380/ int sigprocmask(int how, const sigset_t *set, sigset_t *oldset);函数说明 一个进程的信号屏蔽字规定了当前阻塞而不能递送给该进程的信号集。sigprocma转载 2012-07-23 12:58:16 · 989 阅读 · 0 评论 -
一个 fork 的面试题(基于自己的理解)
原文出处(可供参考!):http://www.oschina.net/question/195301_62902 原出处的代码认为不太好理解,经过自己的修改,与理解,再经过自己的实验,附上自己的说明如下:读者可以参考APUE的p173-174的一个例子与说明,来理解。这里只是自己的读书笔记,积累下来有备于日后的工作开发,纯属个人观点,欢迎批评指正。 前两天有人问了个关于Un原创 2012-09-03 23:38:22 · 408 阅读 · 0 评论