C语言-进程的API(2022详细带例子注释)

目录

一、进程状态查询命令

二、什么是僵尸态

三、进程的接口函数

1、单进程和多进程的区别

2、进程的创建

 3、查询进程自己的PID号以及它父进程的PID号

四、僵尸进程和孤儿进程

1、僵尸进程

2、孤儿进程

五、解决僵尸进程

1、创建wait

2、没有使用wait的情况

 3、使用wait的情况

 六、进程的退出


 

一、进程状态查询命令

1.查看进程 ID 号:ps-ef(静态)

2.查看进程CPU占用率:top(动态)

二、什么是僵尸态

进程结束时,就从运行态变成僵尸态,所谓僵尸态,就是代表这个进程所占用的CPU资源和自身的任务结构体没有被释放,这个状态的进程就是僵尸态进程。

总结:

1)进程在暂停态时,收到继续的信号时,是切换到就绪态,而不是运行态。

2)程序的main函数执行return 0就会导致进程的退出,一定会变成僵尸态。

3)进程不可以没有父进程,也不能同时拥有两个父进程。

4)孤儿进程特征就是失去父进程时,会马上寻找继父,而不是等到孤儿进程变成僵尸态再找。

5)祖先进程一定要帮其他的进程回收资源。

三、进程的接口函数

1、单进程和多进程的区别

(1)单进程程序 -> 只能一行行代码去执行。

(2)多进程程序 -> 同时执行两行代码 -> 产生一个子进程,帮自己处理另外一件事情。

2、进程的创建

#include <sys/types.h>
#include <unistd.h>

//创建进程
pid_t fork(void);

例子:

#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>

int main(void)
{
    //定义变量
    pid_t id;

    //产生一个子进程
    id = fork();
    while (1)
    {
        //这是一个父进程
        if(id > 0)
        {
            //延时 确保子进程先执行,让父进程睡眠3S
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值