网易首页 > 网易号 > 正文 申请入驻

关于进程创建的分析

0
分享至

最近分析了利用fork函数使一个进程创建另外一个进程,两个进程分别有自己的pid,并且能够独立完成作业,写了几个小lab对其进行测试。

一些概念和指令

进程的概念:程序时一堆待执行的代码。

project.c :c语言程序,存在于硬盘中

project:可执行程序

关机重启之后,程序依然还在。

进程就是当程序被cpu加载时,根据每一行代码做出相应的效果,形成一个动态的过程,那个过程就是进程(存在于内存中)。

关机之后,进程就不在了。

在linux下,如何开启一个新进程:在linux终端上执行一个程序,就可以开启一个进程。

进行对于系统来说需要分配的资源:

  • 分配对应的内存空间;
  • 对于系统来说,一个进程就是一个任务,当一个进程启动后,系统分配一个任务结构体给进程,描述这个进程信息。

任务结构体:struct task_struct{}

关于查看进程linux命令:

1)查看整个整个系统进行ID号, ps -ef (静态)

2)top指令:

当前系统中进程总数

查看动态使用率

3)查看整个系统中所有进程关系:pstree

4)进程的诞生和死亡:

总结:

1)进程在暂停态后,收到继续信号,切换到就绪态;

2)程序中main函数执行return 语句时,代表进程结束,一定会变成僵尸态;

3)进程有且只能有一个父进程;

4)孤儿进程特征时失去父亲后,马上寻找继父;

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

仔细分析此流程图,发现task_struct结构体包含着进程的状态。我们在下一篇文章会分析task_struct的源码。

fork()

进程的函数接口:

  • 单进程程序:只能一行一行的代码去执行;
  • 多进程程序:同时执行两行代码。本来的进程产生一个新的自己子进程,fork函数可以实现多进程程序执行。

首先我们先来查看一下fork函数的使用:

fork()函数在一个运行的进程中产生另一个子进程。

pid_t fork(void)

成功:

父进程:子进程pid号

子进程:0

失败:

父进程:父进程pid号

没有子进程

lab1

可以看到这里有两个tree,只有父进程结束后,才有命令行的出现。

所以第一个tree是子进程,第二个tree是父进程。

lab2

让父子进程做不同的事情:

可以看到子进程是有可能在父进程执行之前先执行的。

加入sleep

sleep()函数可以让一个进程进行睡眠。

在一个进程中查看自己的pid以及父进程的pid。

查看自己的pid :getpid()

查看父进程的pid:getppid()

返回值:

成功:

getpid 返回自身的pid号

getppid 返回父进程的pid号

lab3打印自身的pid和child_pid

可以看到打印的pid和ppid。

lab4查看父进程的变化

可以看到faster pid从3164变成了1。

总结

利用sleep函数等对进程运行进行控制,以及观察pid的状态,使得更好的观察进程是如何运行的,以及进程运行的顺序。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
肉色丝袜运动鞋,袜尖透明~

肉色丝袜运动鞋,袜尖透明~

白宸侃片
2024-05-23 16:45:07
硬气,马克龙发出江湖“逮捕令”,要逮捕以总理,美国和稀泥

硬气,马克龙发出江湖“逮捕令”,要逮捕以总理,美国和稀泥

叮当当科技
2024-05-23 19:00:34
欧文:32岁的我变得更成熟了 我明白了篮球不是一个人的运动

欧文:32岁的我变得更成熟了 我明白了篮球不是一个人的运动

直播吧
2024-05-23 13:45:11
教育部官宣:研究生继续扩招!

教育部官宣:研究生继续扩招!

MBAedu
2024-05-21 19:04:41
高中生模仿宋徽宗瘦金体,试卷被老师打0分:不要挑战考试底线

高中生模仿宋徽宗瘦金体,试卷被老师打0分:不要挑战考试底线

熙熙说教
2024-05-20 16:21:57
“反向虚标”?小米SU7充满73.6度电池费了87.86度电,评论区炸锅

“反向虚标”?小米SU7充满73.6度电池费了87.86度电,评论区炸锅

猫小狸同学
2024-05-23 20:45:03
这才是莱希坠机的真正原因?伊朗官员找上普京,俄罗斯怕啥就来啥

这才是莱希坠机的真正原因?伊朗官员找上普京,俄罗斯怕啥就来啥

文雅笔墨
2024-05-23 19:55:38
俄罗斯政府承认无法保护炼油厂,原因令人唏嘘

俄罗斯政府承认无法保护炼油厂,原因令人唏嘘

亡海中的彼岸花
2024-05-23 08:14:53
官宣!丘索维金娜受伤基本无缘巴黎奥运会,理论可能:拿外卡参赛

官宣!丘索维金娜受伤基本无缘巴黎奥运会,理论可能:拿外卡参赛

体坛扒客
2024-05-23 17:05:05
六年整形医生曝森林北整容,晒海量对比照,汪峰这次真看走眼了!

六年整形医生曝森林北整容,晒海量对比照,汪峰这次真看走眼了!

古希腊掌管月桂的神
2024-05-21 22:22:15
黄晓明,太刚了!

黄晓明,太刚了!

紫雨说娱乐
2024-05-22 19:44:38
东部战区突然行动,台岛被全面包围,一关键信号,演习随时变实战

东部战区突然行动,台岛被全面包围,一关键信号,演习随时变实战

战域笔墨
2024-05-23 14:32:44
这木瓜一定很好吃!

这木瓜一定很好吃!

北冥说事
2024-05-21 22:22:46
又一清华学子铊中毒惨死!案件越挖越深,凶手震惊美国

又一清华学子铊中毒惨死!案件越挖越深,凶手震惊美国

罪恶档案笔记
2024-01-08 18:21:32
NBA四强诞生,凯尔特人今年不可能夺冠,99%是这支球队拿下总冠军

NBA四强诞生,凯尔特人今年不可能夺冠,99%是这支球队拿下总冠军

小鬼头体育
2024-05-23 17:48:44
台媒:大S发现具卤蛋疑似偷卖自己的名包养母亲?具卤蛋出面回应

台媒:大S发现具卤蛋疑似偷卖自己的名包养母亲?具卤蛋出面回应

娱乐的小灶
2024-05-23 19:42:11
武统不行,和统也不行,台湾名嘴谢寒冰指出:大陆正在走第三条路

武统不行,和统也不行,台湾名嘴谢寒冰指出:大陆正在走第三条路

文史达观
2024-03-13 12:53:20
越南第一美女的最美瞬间,美得意外,倾国倾城!

越南第一美女的最美瞬间,美得意外,倾国倾城!

国际艺术大观
2024-05-23 00:12:52
降薪1000万,重回勇士!短暂的牺牲造就更大的回报,你是人生赢家

降薪1000万,重回勇士!短暂的牺牲造就更大的回报,你是人生赢家

呆哥聊球
2024-05-23 19:47:43
美国拜登政府将从8月1日开始对中国进口商品加征关税!

美国拜登政府将从8月1日开始对中国进口商品加征关税!

AI商业论
2024-05-23 09:54:44
2024-05-23 21:30:44
星云博创
星云博创
星云博创-专业安全服务提供商
90文章数 12关注度
往期回顾 全部

科技要闻

黄仁勋业绩会万字实录:我们的压力太大了

头条要闻

媒体:大陆对赖清德彻底失望 或先收回几个离岛控制权

头条要闻

媒体:大陆对赖清德彻底失望 或先收回几个离岛控制权

体育要闻

CBA最有价值球员,为何在总决赛迷失?

娱乐要闻

大S儿子被学校退学,张兰称孙子没人管

财经要闻

九鼎金租减值罗生门:郑州银行藏雷?

汽车要闻

上汽大通大家7超混/大家9超混将于6月7日正式上市

态度原创

艺术
健康
旅游
教育
军事航空

艺术要闻

穿越时空的艺术:《马可·波罗》AI沉浸影片探索人类文明

在中国,到底哪些人在吃“伟哥”?

旅游要闻

日本航空飞机在羽田机场地面与其他飞机发生接触

教育要闻

京津冀师生技能“比武” 促职业教育协同发展

军事要闻

以军继续杰宁攻势 巴武装组织打击以目标

无障碍浏览 进入关怀版