- 博客(4)
- 资源 (4)
- 收藏
- 关注
原创 alarm(0)函数的作用
<br />alarm也称为闹钟函数,它可以再进程中设置一个定时器,当定时器指定的时间到时,它向进城发送SIGALARM信号。要注意的是,一个进程只能有一个闹钟时间,如果在调用alarm之前已设置过闹钟时间,则任何以前的闹钟时间都被新值所代替。<br /><br />当在调用alarm()前已经设置了一个闹钟,那么我们可以调用alarm(0)来取消此闹钟,并返回剩余时间。<br />函数原型<br /> unsigned int alarm(unsigned int seconds)函数参数<br />
2011-03-23 10:30:00 11091
原创 close_on_exec标志位的作用
<br />lose_on_exec 是一个进程所有文件描述符(文件句柄)的位图标志,每个比特位代表一个打开的文件描述符,用于确定在调用系统调用execve()时需要关闭的文件句柄(参见include/fcntl.h)。当一个程序使用fork()函数创建了一个子进程时,通常会在该子进程中调用execve()函数加载执行另一个新程序。此时子进程将完全被新程序替换掉,并在子进程中开始执行新程序。若一个文件描述符在close_on_exec中的对应比特位被设置,那么在执行execve()时该描述符将被关闭,否则该
2011-03-23 10:30:00 7974 1
原创 C语言的一种老式写法
<br />今天在看程序时,发现一个地方很令我费解:<br />void ring_init(ring)<br />RING *ring;<br />{<br /> ring->pred = ring->succ = ring;<br />}<br />后来注意到,ring的声明放在了函数的后面,而参数中并没有ring类型的声明,问了问别人才知道,这是一种C语言老式函数的写法。跟void ring_init(RING* ring){...} 一个意思。<br /> <br />孤陋寡闻了。
2011-03-22 15:38:00 2266
原创 geteuid()和getuid()的区别
<br />geteuid():返回有效用户的ID。<br />getuid():返回实际用户的ID。<br />有效用户ID(EUID)是你最初执行程序时所用的ID <br /> 表示该ID是程序的所有者 <br /> 真实用户ID(UID)是程序执行过程中采用的ID <br /> 该ID表明当前运行位置程序的执行者 <br /> 举个例子 <br /> 程序myprogram的所有者为501/anna <br /> 以501运行该程序此时UID和EUID都是501
2011-03-01 11:41:00 15131 3
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人