- 博客(49)
- 资源 (7)
- 收藏
- 关注
原创 system函数
(1)system实现说明system在其实现中调用了fork、exec和waitpid,因此有三种返回值:如果fork失败或者waitpid返回除EINTR之外的出错,则system返回-1,而且errno中设置了错误类型。如果exec失败,则其返回值如同S
2011-07-04 15:03:41 1124
原创 进程中的三种用户ID
(1)进程中三种用户ID的含义表12-2列出了进程执行时,与进程相关联的三种用户ID,这三种ID在Linux书刊中经常提及,但也是易混淆不好理解的地方。 表12-2 三种用户ID意义表 与每个进程相关联的用户ID和组ID
2011-07-04 14:50:47 3927
原创 wait和waitpid函数
(1)wait函数说明当一个进程正常或异常终止时,内核就向其父进程发送SIGCHLD信号。因为子进程终止是个异步事件,这种信号也是内核向父进程发的异步通知。父进程可以忽略该信号,或者提供一个该信号发生时即被调用执行的函数(信号处理程序)。父进程同步等待子进程退
2011-07-04 14:31:31 6570
原创 exec函数
(1)exec函数说明fork函数是用于创建一个子进程,该子进程几乎是父进程的副本,而有时我们希望子进程去执行另外的程序,exec函数族就提供了一个在进程中启动另一个程序执行的方法。它可以根据指定的文件名或目录名找到可执行文件,并用它来取代原调用进程的数据段、
2011-07-04 14:16:39 38260 4
原创 fork系统调用
(1)fork系统调用说明fork系统调用用于从已存在进程中创建一个新进程,新进程称为子进程,而原进程称为父进程。fork调用一次,返回两次,这两个返回分别带回它们各自的返回值,其中在父进程中的返回值是子进程的进程号,而子进程中的返回值则返回 0。因此,可以通过返回值来判定该进程是父进程还是子进程。使用fork函数得到的子进程是父进程的一个复制品,它从父进程处继承了整个进程的地
2011-07-01 17:35:00 16519
原创 Linux进程标识
1. 进程标识(1) 进程标识说明每个进程都有一个非负整型的唯一进程ID。因为进程ID标识符总是唯一的,常将其用作其他标识符的一部分以保证其唯一性。在Linux中,进程ID 0是调度进程,常常被称为交换进程。该进程并不执行任何磁盘上的程序—它是内核的一部分,因此也被称为系统进程。进程ID 1通常是init进程,在自举过程结束时由内核调用。init通常读与系统有关的初始化文件(/
2011-07-01 17:14:00 3241
原创 setjmp和longjmp
在C语言中,goto语句只允许函数内使用,不允许在函数间使用。而执行这种跳转功能的是函数setjmp和longjmp,这两个函数对于处理很深的嵌套函数调用中的出错情况非常有用。(1)setjmp函数原型所需头文件#include 函数说明setjmp用来保存堆栈环境,然后将目前的地址做一个记号,而在程序其他地方调用longjm
2011-07-01 16:45:00 1291 1
原创 Linux环境变量
1. 环境变量 环境变量用于描述该用户操作环境下特定意义的变量,可以用env命令查看该用户下生效的环境变量。和命令行参数argv类似,环境变量表也是一组字符串,如下图12-8所示。 图12-8 环境变量图 libc库中定义的全局变量environ指向环境变量表,由于environ变量没有包含在任何头文件中
2011-07-01 15:01:00 2141
原创 进程的堆栈空间
每一个进程都有自己的一个进程堆栈空间。在Linux界面执行一个执行码时,Shell进程会fork一个子进程,再调用exec系统调用在子进程中执行该执行码。exec系统调用执行新程序时会把命令行参数和环境变量表传递给main函数,它们在整个进程堆栈空间中的位置如下图12-7所示。 图12-7 进程堆栈空间图
2011-07-01 14:30:00 10949 1
云海网络自动备份软件(Linux版)
2011-10-30
计算机微机原理组成原理图解
2011-05-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人