admin 管理员组

文章数量: 1087139


2024年3月30日发(作者:jfinalmysql数据库依赖)

进程控制开发

1 基本概念

 Linux中最主要的进程表示有

进程号

(PID)和它的

父进程号

(PPID),均是

非零的

正整数

 Linux中获得当前进程的PID和PPID的系统调用函数为

getpid

getppid

。使

用时包含

2 进程结构

 Linux的进程包含3个段,分为“

数据段

”、“

代码段

”和“

堆栈段

”。

(1) 数据段:存放全局变量、常数以及动态数据分配的数据空间(malloc)。

(2) 代码段:程序代码的数据。

(3) 堆栈段:子程序的返回地址、子程序的参数及程序的局部变量。

 Linux进程控制编程

(1) 进程创建:pid_t fork(void)

➢ 执行一次却返回

两个值

。fork用于从已存在进程中创建一个新进程。新进程为

子进程,原进程为父进程。分别带回各自的返回值,父进程的返回值是

子进程的进程号

子进程

返回0

➢ 使用时需包含

#include

//提供类型pid_t的定义。

(2) exec函数:int execl(const char *path,const char *arg,…) …

➢ exec函数实现在进程中

启动另一个程序

执行的方法。取代原调用进程的数据段、

代码段和堆栈段,执行完之后,原调用进程的内容除了进程号外,其他

全部被新的进程替

了。

➢ 使用时需包含

#include

(3) 终止进程:exit和_exit

➢ _exit直接退出;exit处理之后退出,能保证数据的完整性。

➢ exit:使用时需包含

#include

_exit:使用时需包含

#include

(4) 阻塞父进程,wait和waitpid:pid_t wait(int *status)

pid_t waitpid(pid_t pid,int *status, int options)

➢ 使用时需包含

#include

#include


本文标签: 进程 数据 包含 子程序 退出