进程指正在运行的程序,资源分配的最小单位,可以通过“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:

迅为i.MX6ULL终结者进程基础-进程创建相关推荐

  1. 北京迅为i.mx6ull终结者开发板使用手册+嵌入式Linux开发指南+裸机手册下载地址

    i.MX6ULL终结者三大手册,加速学习和开发速度,一秒化无形! <嵌入式Linux开发指南>+<开发板使用手册>+<裸机使用手册> 详细手册点击链接下载:http ...

  2. 迅为I.MX6ULL终结者开发板支持JTAG调试

    因为有很多小伙伴是从单片机转过来的,对JTAG非常熟悉.想用JTAG来调试裸机代码,而且一直用卡拷贝经常会出现虚拟机连接不上TF卡的情况. I.MX6ULL本身是支持JTAG的,但是由于关于这个资料真 ...

  3. 迅为i.MX6ULL终结者开发板免费获取资料链接

    关注VX公众号:迅为电子 , 回复 :终结者,免费获取产品资料 i.MX6ULL终结者手册下载链接  https://pan.baidu.com/s/171NHz6_sVMGIQ3g7GcCqOQ   ...

  4. 迅为i.MX6ULL终结者Linux中断实验运行测试

    文章目录 1 编译驱动程序 2 编译应用测试程序 3 运行测试 1 编译驱动程序 和前面章节中驱动测试程序一样需要一个Makefile文件,只是将obj-m的值改为key_irq.o,Makefile ...

  5. 迅为i.MX6ULL终结者Mfgtools修改单独只烧写Uboot,内核,文件系统

    1.打开mfgtools_for_6ULL文件夹,找到cfg.ini文件,如果您的板子是EMMC的修改如图 1: 如果您的板子是NAND的,修改如图 2: 2.打开"Profiles\Lin ...

  6. Linux系统编程——进程基础知识

    Linux系统编程--进程基础知识 1.程序和进程 程序,是指编译好的二进制文件,在磁盘上,不占用系统资源(cpu.内存.打开的文件.设备.锁-) 进程,是一个抽象的概念,与操作系统原理联系紧密.进程 ...

  7. PHP 会话 线程 进程,接上节我们来了解了解多进程的一些基础进程 / 线程 / 多进程 / 父进程 / 子进程 / 会话 / 控制终端等...

    多进程的一些基础 定义 进程/父进程/子进程 进程是资源调度和分配的一个独立单元 进程是由线程组成 即等于 一个进程 = 一个线程. 进程是由另一个进程创建 (系统进程 init进程除外) 所以会出现 ...

  8. Python基础38(进程基础)

    进程基础 基础概念 进程定义:只有在运行当中的程序叫进程 操作系统与进程的关系:操作系统调用一个程序,就是进程 为何进入进程概念:隔离资源 ps:进程是操作系统中资源分配最小单位 进程的调度方法: 1 ...

  9. Linux 系统应用编程——进程基础

    一.Linux下多任务机制的介绍 Linux有一特性是多任务,多任务处理是指用户可以在同一时间内运行多个应用程序,每个正在执行的应用程序被称为一个任务. 多任务操作系统使用某种调度(shedule)策 ...

最新文章

  1. Spring 中的各种注解,光会用可不够哦!
  2. ECCV 2020 Spotlight | 图像定位上的细粒化区域相似性自监督
  3. 解决MySQL删除外键时报错Error Code: 1091. Can‘t DROP ‘XXX‘; check that column/key exists
  4. php实现第三方邮箱登录_PHP实现用户异地登录提醒功能的方法
  5. 前端学习(2197):__WEBPACK_IMPORTED_MODULE_1_vuex__.a.store is not a constructor
  6. 修改数据库端口为51433
  7. 探索高效jQuery的奥秘
  8. 执行流程 | 你真的了解Spring AOP的执行顺序吗?
  9. java 参数值_java参数传值方式
  10. 用Vue-cli3+element+mockjs 实现后台管理权限系统及顶栏三级菜单显示
  11. 圈复杂度(Cyclomatic Complexity)-转
  12. mysql5.0驱动_mysql5.0驱动包
  13. 线性同余法产生均匀随机数C语言,利用线性同余法产生随机数进行同步计算
  14. windows下 C++ openCV配置及x86编译(傻瓜式教程)
  15. 微带滤波器摘要_微带线带通滤波器设计
  16. “三次握手,四次挥手”你真的懂吗? 1
  17. 随机预言机模型与标准模型
  18. 如何进行monkey测试
  19. XMind: ZEN 快捷键超强盘点
  20. 墨西哥海运专线时效,有哪些墨西哥专线货代?

热门文章

  1. HTML+CSS 登录界面设计
  2. 工作中遇到的一些问题及解决办法
  3. 十七、网上商城项目(5)
  4. 推荐一款图表功能强大的可视化报表工具
  5. 【Java】练习题库 单选题
  6. Pytorch - Illegal instruction
  7. 互联网与达尔文进化论的结合
  8. 有符号数和无符号数的范围
  9. Google关键词排名多久做上去?谷歌新网站多久能有排名?
  10. 没有公网IP远程访问群晖nas