简单畅谈——进程

今天的内容依然是对我之前内容的理解,大家想看详细的进程,可以去浏览我之前的文章。

1.概念

1.什么是进程?
	进程就是运行中的程序。 
	
	进程一般分为交互进程、批处理进程和守护进程三类。
	
	同时,根据进程间的关系分为子进程和父进程。根据父子进程的运行状态又可以有
	孤儿进程和僵尸进程。(这里涉及到资源回收的问题,
	大家注意孤儿进程是会被收养的,其资源可以被回收,而僵尸进程,由于子进程先接受,父进程无法回收其资源)
	
	进程资源是有限的,如果不回收进程资源,则会浪费资源,使得其他进程的开辟产生问题。

进程分类详细概念

	2.如何查看进程?
	本人是通过虚拟机下,使用Linux的Ubuntu版本进行学习的,可以通过ps和top.
	ps是显示瞬间进程的状态,并不动态连续;
	如果想对进程进行实时监控应该用top命令。
	ps还有一些命令参数:
		-A :所有的进程均显示出来,与 -e 具有同样的效用;
		-a : 显示现行终端机下的所有进程,包括其他用户的进程;
		-u :以用户为主的进程状态 ;
		 x :通常与 a 这个参数一起使用,可列出较完整信息。

2.创建进程

1.fork()

1.#include <unistd.h>
2.pid_t fork (void);
•1) 创建一个子进程,失败返回-1
•2) 调用一次,返回两次 
    分别在父子进程中返回子进程的PID和0。 
	用返回值的不同,可以分别为父子进程编写不同的处理分支。
•3) 子进程是父进程的副本 
 	 子进程获得父进程数据段和堆栈段(包括I/O流缓冲区)的拷贝,
 	 但子进程共享父进程的代码段。
•4) 函数调用后父子进程各自继续运行 
		其先后顺序不确定, 某些实现可以保证子进程先被调度。
•5) 共享文件表 
	 函数调用后,父进程的文件描述符表(进程级)也会被复制到子进程中,
 二者共享同一个文件表(内核级)。

3.进程退出

1.正常退出

1. 在main()函数中执行return 。

2.调用exit()函数

3.调用_exit()函数

2.异常退出

1.调用abort函数

2.进程收到某个信号,而该信号使程序终止。

4.wait/waitpid

wait 等待所有进程结束
waitpid 等待特点进程结束
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值