1955|2

164

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

迅为i.MX6ULL终结者进程基础-进程创建 [复制链接]

进程指正在运行的程序,资源分配的最小单位,可以通过“ps ”或“top”等命令查看正在运行的进程,线程是系统的最小调度单位,一个进程可以拥有多个线程,同一进程里的线程可以共享此进程的同一资源。本章代码在process/目录下。
进程类型:
1.交互进程:由shell启动,用户和计算机进行问答的进程。
2.批处理进程:不与特定终端相关联,将任务提交到等待队列按顺序执行的进程。
3.守护进程:后台运行的特殊进程,用户不能和它进行会话。
进程的三种状态:

1.运行态,正在运行或在运行队列中等待。
2.可中断等待态,休眠, 在等待申请的资源有效或等待中断,信号唤醒。
3.不可中断等待态,休眠等待资源有效,不能被中断或信号唤醒。
4.终止态,进程被停止或者被跟踪状态,收到SIGCONT信号时,又会恢复运行状态。
5.僵尸态,进程因某种原因而中止运行,但进程描述符仍存在,不可被Kill。
如果想销毁某一进程,可在终端输入“ps -elf”查看进程号,如图 66.2:

如果要销毁qtcreator进程,使用“kill -9 3001”可以销毁它,

 

1进程创建
所有的进程都是由其他进程创建(除了pid为0号的idle进程),pid号为1的init进程是系统启动后运行的第一个进程,是所有进程的父进程,init进程会初始化一部分系统服务,创建其他进程。
创建新进程的那个进程称为父进程,新进程称为子进程,父进程和子进程拥有相同的代码段数据段,有各自独立的地址空间。采用写时拷贝技术,即创建的新进程不会立即把父进程的资源空间复制过来,只有在修改时才会复制资源,另外父进程挂起的信号和文件锁不会被子进程继承。
子进程结束后,它的父进程要回收它的资源,否则就会成为僵尸进程 。
如果父进程先结束,子进程会被init进程收养,称为孤儿进程。
终端输入“ps -el”查看进程状态,PID为进程号,PPID为此进程的父进程号,如图 1.1,1505号进程的父进程为1366进程。

getpid():获取进程PID,

返回值为PID号。

fork():系统调用,创建一个进程,
#include <unistd.h>
pid_t fork(void);
调用成功父进程返回子进程号,子进程返回0,失败返回-1。
如以下代码:
for.c:

打印结果:

程序执行过程中第一次调用fork()进程2531创建子进程2532;第二次fork(),进程2531创建子进程2533,进程2532创建2534,创建过程如图 1.3:

此帖出自ARM技术论坛

最新回复

谢谢楼主分享啊~~   详情 回复 发表于 2021-3-4 10:05
点赞 关注
 

回复
举报

7608

帖子

2

TA的资源

五彩晶圆(高级)

沙发
 

谢谢分享,现在学基础的太少了,一上来就是内核编程。

此帖出自ARM技术论坛
 
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 

回复

1万

帖子

203

TA的资源

管理员

板凳
 

谢谢楼主分享啊~~

此帖出自ARM技术论坛
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
 
个人签名玩板看这里:
https://bbs.eeworld.com.cn/elecplay.html
EEWorld测评频道众多好板等你来玩,还可以来频道许愿树许愿说说你想要玩的板子,我们都在努力为大家实现!
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表