来源:自学PHP网 时间:2015-04-14 10:28 作者: 阅读:次
[导读] 一、程序与进程的区别1、程序是静态概念,本身作为一种软件资源长期保存;而进程是程序的执行过程,它是动态概 念,有一定的生命期,是动态产生和消亡的。 2、程序和进程无一一对应关...
一、程序与进程的区别 1、程序是静态概念,本身作为一种软件资源长期保存;而进程是程序的执行过程,它是动态概 念,有一定的生命期,是动态产生和消亡的。 2、程序和进程无一一对应关系。一个程序可以由多个进程共用;另一方面,一个进程在活动中有 可顺序地执行若干个程序。 二、父进程【PPID】与子进程【PID】 1、子进程是由一个进程所产生的进程,产生这个 子进程的进程称为父进程。 2、在Linux系统中,使用系统调用fork创建进程。 fork复制的内容包括父进程的数据和堆栈段以及父进程的进程环境。 3、父进程终止子进程自然终止。 4、两种特殊情况 (1)父进程终止,子进程依然存在,子进程变成孤儿进程,其自动PPID指向init (2)子进程死亡,父进程不知到,子进程变成僵尸进程 三、前台进程与后台进程 前台进程: 在Shell提示处敲入命令后,创建一个子进程【父进程是Shell】,运行命令,Shell等待命令退出,然后返回到对用户给出提示符。这条命令与Shell异步运行,即在前台运行,用户在 它完成之前不能执行另一个命令。 后台进程: 在Shell提示处敲入命令,若后随一个&,Shell创建的子 进程运行此命令,但不用等待命令退出,而直接返回到对用户给出提示。这条命令与Shell同步运行,即在后台运 行。后台进程必须是非交互式的。 如:find /home -name init > test/tmp.txt 四、进程状态 就绪状态:进程已经分配到资源,但因为 其它进程正占用 CPU,所以暂时不 能运行而等待分配 CPU的状态。 等待状态:因等待某种 事件而暂时不能运 行的状态。 运行状态:进程分配到 CPU,正在处理器 上运行。
五、进程状态细化 用户态运行:在CPU上执行用户代码 核心态运行:在CPU上执行核心代码 在内存就绪:具备运行条件,只等调度程序为它分配CPU 在内存睡眠:因等待某一事件的发生,而在内存中排队等待 在外存就绪:就绪进程被交换到外存上继续处于就绪状态 在外存睡眠:睡眠进程被交换到外存上继续等待 在内存暂停:因调用stop程序而进入跟踪暂停状态,等待其父进程发送命令。 在外存暂停:处于跟踪暂停态的进程被交换到外存上 创建态:新进程正在被创建、但尚未完毕的中间状态 终止态:进程终止自己 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com