PID(Process Identification)操作系统里指进程识别号,也就是进程标识符。操作系统里每打开一个程序都会创建一个进程ID,即PID。
 
PID(进程控制符)英文全称为Process Identifier,它也属于电工电子类技术术语。
PID是各进程的代号,每个进程有唯一的PID编号。它是进程运行时系统随机分配的,并不代表专门的进程。在运行时PID是不会改变标识符的,但是你终止程序后再运行PID标识符就会被系统回收,就可能会被继续分配给新运行的程序。
含义
只要运行一程序,系统会自动分配一个标识。
是暂时唯一:进程中止后,这个号码就会被回收,并可能被分配给另一个新进程。
只要没有成功运行其他程序,这个PID会继续分配给当前要运行的程序。
如果成功运行一个程序,然后再运行别的程序时,系统会自动分配另一个PID。
是暂时唯一:进程中止后,这个号码就会被回收,并可能被分配给另一个新进程。
只要没有成功运行其他程序,这个PID会继续分配给当前要运行的程序。
如果成功运行一个程序,然后再运行别的程序时,系统会自动分配另一个PID。
 
操作系统中进程管理的基本原理 
  1)进程的三种基本状态 
 我们已经知道了进程实际是一个动态的概念,我们再回到分时系统的原理上。分时系统是给一个进程分配一个时间片,让这个进程执行,当进程时间片用完以后,为下一个进程分配时间片。当进程执行过程中发生阻塞,则主动让出CPU控制权,给其它进程执行的机会。   分析上面的过程,每一时刻只有一个进程处于执行的状态。而有多个进程处于等待分配时间片的状态,这多个进程应该遵循一定的顺序。事实上是存在于一个队列中。这种等待分配时间片的状态我们称为就绪状态,存放就绪进程的队列就称为就绪队列。当CPU处于空闲状态时,调度程序就会从就绪队列中取出一个进程并执行。当进程时间片用完后,调度信息就会把这个进程放入到就绪队列中。   除了时间片用完,当进程IO请求时,进程会在IO请求完毕之前无法继续执行,这类情况我们称为进程的阻塞(可能出现进程阻塞的有IO请求,申请缓冲空间等)。当出现进程阻塞后,调度程序应该怎么处理呢?首先进程肯定不能放入就绪态,因为放入就绪态就有可能被分配时间片,而此时进程不能继续执行,这就浪费了CPU资源。调度程序对其进行的处理是将其放到一个阻塞队列中,当IO完成时,再把它放回就绪队列等待分配时间片。   图1画出了进程就绪态,执行态和阻塞态的关系   
使用Toyix查看进程的三种状态 
Toyix是一个专门为操作系统的基础理论教学而编写的系统,通过这个系统可以很方便的模拟进程的创建执行过程。 
从Toyix网站(http://www.toyix.net/)下载系统并安装(具体安装方式请参考网站教程)

转载:https://www.cnblogs.com/wangshuai6707/p/4430586.html

进程pid理解的更多相关文章

  1. python 多线程,进程的理解

    python的threading.Thread类有一个run方法,用于定义线程的功能函数,可以在自己的线程类中覆盖该方法.而创建自己的线程实例后,通过Thread类的start方法,可以启动该线程,交 ...

  2. Linux查看进程PID信息

    ps -ef|grep 进程名 可检索到具体进程PID以及启动命令行信息 ls -l /proc/进程ID Linux在启动程序时会在 /proc/PID 目录下以PID为名称创建一个文件存储相关进程 ...

  3. Bash Shell 获取进程 PID

    转载地址:http://weyo.me/pages/techs/linux-get-pid/ 导读 Linux 的交互式 Shell 与 Shell 脚本存在一定的差异,主要是由于后者存在一个独立的运 ...

  4. linux: 获取监听指定端口的进程PID

    在 linux 下经常需要杀死(重启)监听某端口的进程, 因此就写了一个小脚本, 通过 ss 命令获取监听制定端口的进程 PID, 然后通过 kill 命令结束掉进程: #!/bin/sh # set ...

  5. 如何根据w3wp.exe的进程pid查看是哪个应用程序池

    如何根据w3wp.exe的进程pid查看是哪个应用程序池? 根据iisapp 查看PID所对应的IIS应用程序池及详细介绍: 从IIS6.0可以在IIS中架设多个站点并给每个站点指定不同的应用程序池, ...

  6. delphi根据进程PID获取程序所在路径的函数(用OpenProcess取得句柄,用GetModuleFileNameEx取得程序名)

    uses psapi; {根据进程PID获取程序所在路径的函数}function GetProcessExePath(PID: Cardinal): string;varpHandle: THandl ...

  7. Linux根据端口号查看进程PID

    1.命令lsof,以查找占用端口80为例,用法如下: [root@localhost nginx]# lsof -i:80 以上为没有进程占用80端口, [root@localhost sbin]# ...

  8. 并发编程---开启进程方式---查看进程pid

    1.开启进程的两种方式 方式一: from multiprocessing import Process import time def task(name): print('%s is runnin ...

  9. linux命令(26):Bash Shell 获取进程 PID

    转载地址:http://weyo.me/pages/techs/linux-get-pid/ 根据pid,kill该进程:http://www.cnblogs.com/lovychen/p/54113 ...

随机推荐

  1. java.lang.IllegalStateException: getWriter() has already been called for this response

    出现此异常的三种可能: 1.通过response.reset(); 刷新可能存在一些未关闭的getWriter().  来源:http://blog.csdn.net/wonder4/article/ ...

  2. JS(JavaScript)的初了解6(更新中···)

    Js数据类型具体分析 基础类型:  string  number   boolean   null  undefined 引用类型:  object ==>  json  array  等 复习 ...

  3. 使用tp访问数据库时提示错误: 'PDO' not found, 和not defined constant mysql_attr_init_command 和call an undefined function Think\Template\simpleXml_load_string()函数

    第一个问题: PDO not found 是因为 php没有安装pdo扩展, 无法提供给 php 以 数据库访问功能, 所以 报错是在文件: Think/Db.class.php的里面. 解决方法是: ...

  4. javascript 之 第七章第一节(递归)

    先举例: function factorial(num) { ) { return num; } else { ); } } //输出120 //进一步去思考有名字的函数,且名字不会有变化的情况下,这 ...

  5. Go语言学习之11 日志收集系统kafka库实战

    本节主要内容: 1. 日志收集系统设计2. 日志客户端开发 1. 项目背景    a. 每个系统都有日志,当系统出现问题时,需要通过日志解决问题    b. 当系统机器比较少时,登陆到服务器上查看即可 ...

  6. Android 正则表达式实例

    editText正则表达式的使用 检查输入是否符合规则 import Android.app.Activity; import android.os.Bundle; import android.vi ...

  7. Windows Socket 编程_单个服务器对多个客户端简单通讯

    单个服务器对多个客户端程序: 一.简要说明 二.查看效果 三.编写思路 四.程序源代码 五.存在问题 一.简要说明: 程序名为:TcpSocketOneServerToMulClient 程序功能:实 ...

  8. PAT 1144 The Missing Number

    1144 The Missing Number (20 分)   Given N integers, you are supposed to find the smallest positive in ...

  9. javascript高级程序设计第3版——第10章 DOM

    第十章,DOM DOM是语言中立的API,用于访问和操作HTML 和XML 文档.DOM1 级将HTML 和XML 文档形象地看作一个层次化的节点树,可以使用JavaScript 来操作这个节点树,进 ...

  10. JAVA写接口傻瓜(#)教程(四)

    接上篇 7.sevlert 啊啊啊终于写到最重要的实现部分了.Servlet = Service + Applet,表示小服务程序.Servlet 是在服务器上运行的小程序.这个词是在 Java ap ...