- 博客(6)
- 收藏
- 关注
原创 Unix / Linux 的程序退出状态 exit status---相关解释
对于 *NIX 系统而言,每一条命令,不管是内置的,SHELL 函数还是外置的,当它退出时,都 会返回一个小整数给引用它的程序,这就是程序退出状态 ( exit status ).一般来讲,退出状态 0 表示正常执行,没有遭遇任何问题。其他非零的状态码均表示失败。在 shell 中,可以使用 $? 来访问最后一个程序的退出状态。下面是 POSIX 的结束状态:
2015-02-07 11:28:33 6854
转载 实际用户ID,有效用户ID与保存设置用户ID---相关解释
前段时间一直没搞明白这几个ID之间的关系,今天看到一篇博文,这才拨云见日,才有所了解了.real user ID:实际用户ID,指的是进程执行者是谁effective user ID:有效用户ID,指进程执行时对文件的访问权限saved set-user-ID:保存设置用户ID,作为effective user ID的副本,在执行exec调用时后能重新恢复原来的effect
2015-02-05 21:48:38 518
原创 进程fork()两次---解决一个进程不必等待子进程终止,也不希望子进程处于僵死状态(一般是服务器进程fork())
首先,要了解什么叫僵尸进程,什么叫孤儿进程,以及服务器进程运行所需要的一些条件。两次fork()就是为了解决这些相关的问题而出现的一种编程方法。 孤儿进程 孤儿进程是指父进程在子进程结束之前死亡(return 或exit)。如下图1所示:图1 孤儿进程但是孤儿进程并不会像上面画的那样持续很长时间,当系统发现孤儿进程时,init进程就收养孤儿进
2015-02-05 11:07:52 2506 1
原创 自动变量、静态变量、寄存器变量和易失变量的相关解释
自动变量 局部变量,如不作专门说明为静态变量,都是动态分配存储空间,存储在动态存储区中。这种变量叫自动变量。这种变量只在定义它们的时候才创建,在定义它们的函数返回时系统回收变量所占存储空间。对这些变量存储空间的分配和回收是由系统自动完成的,所以也叫自动变量。一般情况下,不作专门说明的局部变量,均是自动变量。自动变量也可用关键字auto作出说明。例如:(考虑到浏览器可能给作者本意要写在同一行的
2015-02-04 15:17:51 1991
原创 内存流问题---APUE程序5-15,对内存流的写入是如何在我们自己提供的缓冲区上操作的
1.首先贴下自己的代码(加入了一些打印语,句其中'#'代表‘\0‘)program5-15.c 运行环境:Linux 3.2.0#include#define BSZ 48int main(void){ FILE *fp; char buf[BSZ]; int i; memset(buf,'a',BSZ-2); printf("my buf0 %s---%ld--
2015-02-03 11:23:47 968 1
转载 APUE.2e程序清单4-7举例分析
分析apue2e上的程序清单4-7 递归降序遍历目录层次结构,并按文件类型计数 。分析环境:FreeBSD 6.2-RELEASE,i386。程序清单4-7,英文版即121页的Figure 4.22. Recursively descend a directory hierarchy, counting file type为了便于程序的分析,我把原ftw4.c中用到的程序清单2-3
2015-02-01 15:53:52 788
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人