进程控制

1.获取进程标识
    #include<sys/types.h>
    #include<unistd.h>
    pid_t getpid(void) 返回调用进程的进程ID
    pid_t getppid(void) 返回进程的父进程ID
    uid_t getuid(void) 返回进程的实际用户ID
    uid_t geteuid(void) 返回进程的有效用户ID
    gid_t getgid(void) 返回进程的实际组ID
    gid_t getegid(void) 返回进程的有效组ID
2.fork函数:
    #include<sys/types.h>
    #include<unistd.h>
    pid_t fork(void);
    返回:0为子进程,大于0表示在父进程中其值为子进程的ID,出错-1;
3.使用fork函数得到的子进程是从父进程处继承了整个进程的地址空间,包括:进程上下文、进程堆栈、内存信息、信号控制设置、进程优先级、进程组号、当前工作目录、根目录、资源限制、控制终端。
4.父进程设置的锁,子进程不继承。
5.vfork函数,vfork用于创建一个新进程,而该新进程的目的是exec一个新进程,vfork和fork一样都创建一个子进程,但是它并不将父进程的地址空间完全复制到子进程中,因为子进程会立即调用exec,于是也就不会存放该地址空间。不过在子进程中调用exec或exit之前,他在父进程的空间中运行。
6.exec函数,当进程调用一种EXEC函数时,该进程完全由新程序代换,而新程序则从其 main函数开始执行。因为调用exec并不创建新进程,所以前后的进程ID并未改变。
7.进程的3种基本状态:阻塞、就绪、执行。I/O请求完成后,进程由阻塞状态进入就绪状态。
8.PCB进程控制块,用于描述进程进展情况及控制进程运行所需的全部信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值