Linux C语言程序设计(十五)——进程、线程与信号
发布时间
阅读量:
阅读量
1、进程相关分析
1.1 基本概念
在操作系统内核中,每个进程均对应一个用于存储其相关信息的进程控制块(PCB),Linux系统中该控制块具体表现为task_struct结构体。
进程标识符:系统中每一个进程均被赋予唯一的标识符,该标识符在C语言中通过pid_t类型进行定义,其本质为一个非负数值。
进程状态:进程可处于运行、挂起、停止或僵尸等多种状态之中。
当前工作目录
1.fork机制与版本控制
fork的功能是基于现有进程生成一个新的进程,原进程被定义为父进程(Parent Process),而新生成的进程则被称为子进程(Child Process)。在某个进程中,调用exec函数前后可以分别运行两个不同的程序。例如,在Shell命令行界面输入ls指令时,首先通过fork创建子进程,此时子进程仍然在执行/bin/bash程序,随后该子进程会调用exec函数来运行新的程序/bin/ls。
#include <sys/types.h>
#include <unistd.h>
pid_t fork(void);
当fork调用未能成功执行时,系统将返回-1作为错误标识;而调用成功的情况下,其返回值的具体含义可参考以下说明。为了更直观地理解fork函数如
全部评论 (0)
还没有任何评论哟~
