请问Linux进程符合三状态模型么?running、sleeping和stopped可以理解为三状态模型中运行、阻塞和就绪么

作者&投稿:邹隶 (若有异议请与网页底部的电邮联系)
Linux下的进程有哪三种状态~

Linux内核中定义了以下几种状态:
#define TASK_RUNNING 0
#define TASK_INTERRUPTIBLE 1
#define TASK_UNINTERRUPTIBLE 2
#define TASK_ZOMBIE 4
#define TASK_STOPPED 8
其中:
TASK_RUNNING是就绪态,进程当前只等待CPU资源。
TASK_INTERRUPTIBLE和TASK_UNINTERRUPTIBLE都是阻塞态,进程当前正在等待除CPU外的其他系统资源;前者可以被信号唤醒,后者不可以。
TASK_ZOMBIE是僵尸态,进程已经结束运行,但是进程控制块尚未注销。
TASK_STOPPED是挂起状态,主要用于调试目的。进程接收到SIGSTOP信号后会进入该状态,在接收到SIGCONT后又会恢复运行。

[root@iZ259r7h4pfZ ~]# top
top - 23:58:06 up 289 days, 15:44, 2 users, load average: 0.00, 0.00, 0.00
Tasks: 214 total, 1 running, 172 sleeping, 0 stopped, 41 zombie
Cpu(s): 2.1%us, 0.3%sy, 0.0%ni, 97.4%id, 0.2%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 1920740k total, 1097952k used, 822788k free, 13564k buffers
Swap: 0k total, 0k used, 0k free, 89556k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

或者

[root@iZ259r7h4pfZ ~]# ps aux|grep nginx
root 961 0.0 0.0 46288 1480 ? Ss 2017 0:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
www 2023 0.0 1.1 66448 22800 ? S 2017 16:50 nginx: worker process
root 23415 0.0 0.0 103188 864 pts/8 S+ 23:58 0:00 grep nginx
[root@iZ259r7h4pfZ ~]# lsof -p 961
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 961 root cwd DIR 202,1 4096 2 /
nginx 961 root rtd DIR 202,1 4096 2 /
nginx 961 root txt REG 202,1 5027882 1078631 /usr/local/nginx/sbin/nginx

运行:running,正在占用cpu资源。
阻塞:sleeping,由于某些原因不得不等待cpu,所以只好sleeping
就绪也是:running,处在linux的就绪队列中
stoped是进程已经停止了,执行完了退出了,不会被调度了。

你不要这么理解了,总之你先看一下linux的进程管理吧网上一搜一堆啊。

http://mcuos.com/viewthread.php?tid=8605&highlight=%E8%BF%9B%E7%A8%8B%E7%AE%A1%E7%90%86

sleep是阻塞。runnable是就绪。running是运行。


linux笔记:strerror函数的使用以及errno错误码中文
典型错误及其描述<\/EPERM (1)<\/: 试图执行被禁止的操作ENOENT (2)<\/: 请求的文件或路径不存在ESRCH (3)<\/: 寻找的进程或标识符未找到EMFILE (24)<\/: 打开的文件数量超过系统限制ENOTTY (25)<\/: 操作应用于非终端设备ETXTBSY (26)<\/: 写入文本文件时,文件被其他进程占用这些只是众多标准错误...

linux下的shell是什么?
shell是一种接口,它连接了用户和内核,使用户能够与系统进行交互操作。它接收用户输入的命令并把它送入内核去执行。是在Linux内核与用户之间的解释器程序,现在Linux通常指\/bin\/bash解释器来负责向内核翻译以及传达用户\/程序指令,shell相当于操作系统的“外壳”Linux系统提供多种不同的Shell以供选择。在...

怎么查看端口号被占用
下面我简单描述一下我所了解的在Windows和Linux系统下处理方式。 (假如我们需要确定谁占用了我们的9010端口)1、Windows平台在windows控制台窗口下执行:netstat -nao | findstr 9010TCP 127.0.0.1:9010 0.0.0.0:0 LISTENING 3017你看到是PID为3017的进程占用了9010端口,如果进一步你想知道它的进程名称,你可以使用如下...

命令提示符的进程名是什么
cmd.exe 命令提示符是在操作系统中,提示进行命令输入的一种工作提示符。在不同的操作系统环境下,命令提示符各不相同。在windows环境下,命令行程序为cmd.exe,是一个32位的命令行程序,微软Windows系统基于Windows上的命令解释程序,类似于微软的DOS操作系统。一般说的“命令行”是指linux命令,linux命令...

什么是linux?linux有什么优点?
Linux系统调度每一个进程,平等地访问微处理器。由于CPU的处理速度非常快,其结果是,启动的应用程序看起来好像在并行运行。事实上,从处理器执行一个应用程序中的一组指令到Linux调度微处理器再次运行这个程序之间只有很短的时间延迟,用户是感觉不出来的。 4.良好的用户界面 Linux向用户提供了两种界面:用户界面和系统...

深入解析Linux系统中的SELinux访问控制功能
安全上下文是一个简单的、一致的访问控制属性,在SELinux中,类型标识符是安全上下文的主要组成部分,由于历史原因,一个进程的类型通常被称为一个域(domain),"域"和"域类型"意思都一样,我们不必苛刻地去区分或避免使用术语域,通常,我们认为【域】、【域类型】、【主体类型】和【进程类型】都是同义的,即都是安全上...

求LINUX的详细命令使用?
bg fg 使挂起的进程继续运行 ps ax 查询当前进程 mount 连接文件系统 more less 浏览文件内容 chown chgrp 改变文件的拥有者 chmod 改变文件属性 halt 关闭系统 man 显示手册页 passwd 改变用户口令 grep 查找字符串 find 查找文件 dd 复制磁盘或文件系统 kill 杀掉一个进程 killall 杀掉进程 ...

linux shell数据重定向详细分析
新增文件绑定描述符 可以依次增加。 一条shell命令执行,都会继承父进程的文件描述符。因此,所有运行的shell命令,都会有默认3个文件描述符。 对于任何一条linux 命令执行,它会是这样一个过程: 一个命令执行了: 先有一个输入:输入可以从键盘,也可以从文件得到 命令执行完成:成功了,会把成功结果输出到屏幕:standard ...

linux查看端口是否开启
Linux怎么查看端口是否开启?我们一起来了解一下吧。首先我们先打开要查看端口的Linux的命令操作界面,然后为了能够获得更高的权限,切换root用户登录 第一个方法就是使用lsof-i:端口号命令行,以80为例的,如果没有任何输出则说明没有开启该端口号,为了方便测试,我这里检测一个开启的端口号,则会输出...

linux下CRONTAB用什么命令定义某个程序执行的优先级别
4、完成设置后点击【install\/remove language】,在弹出的窗口找到【chinese(simplified)】。5、最后点击【apply change】。6、最后只知要等待下载,下载完成后选项里已经有了中道文选项。然后鼠标左键把它拖到第一位,然后点击【close】关闭就可以了。注意事项:常用的文件描述符如下:文件描述符名称常用...

马塘区17587487495: linux下的进程有哪三种状态 牛客 -
羊吉速脲: Linux内核中定义了以下几种状态:#define TASK_RUNNING 0#define TASK_INTERRUPTIBLE 1#define TASK_UNINTERRUPTIBLE 2#define TASK_ZOMBIE 4#define TASK_STOPPED 8 其中:TASK_RUNNING是就绪态,进程当前只等待...

马塘区17587487495: linux进程在内核态执行,是在中断中执行的吗 -
羊吉速脲: 几乎所有的程序都要切换到内核态运行再返回用户态,用中断完成的,因为在内核下封装了一些东西,用户态下只是传入某些参数后调用内核态下的函数罢了, 2、进程有三态(执行态,就绪态,阻塞态),cpu任何时刻都只有一个进程在执行,

马塘区17587487495: linux进程的种类 -
羊吉速脲: Linux操作系统包括3种不同类型的进程,每种进程都有自己的特点和属性. •交互进程:由一个Shell启动的进程,交互进程既可以在前台运行,也可以在后台运行. •批处理进程:这种进程和终端没有联系,是一个进程序列. •监控进程:也称守护进程,Linux系统启动是启动的进程,并在后台运行.

马塘区17587487495: 如何查看linux程序运行状态
羊吉速脲: linux上进程有5种状态: 1. 运行(正在运行或在运行队列中等待) 2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号) 3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生) 4. 僵死(进程已终止, 但进程描述...

马塘区17587487495: Linux系统中进程有哪两种模式?各有什么特点 -
羊吉速脲: 用户进程和系统进程, 用户进程就是用户自己打开的应用程序,可有可无. 系统进程即是内核进程,是维持操作系统正常工作自动生成的,关闭系统进程会产生不可预知的结果.

马塘区17587487495: 在linux2.4.0版本中,进程分别有哪些状态 -
羊吉速脲: ps命令就是最基本同时也是非常强大的进程查看命令.使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵尸、哪些进程占用了过多的资源等等.总之大部分信息都是可以通过执行该命令得到的. ps命令最常用的还是用于监控后台进程的工作情况,因为后台进程是不和屏幕键盘这些标准输入/输出设备进行通信的,所以如果需要检测其情况,便可以使用ps命令了.

马塘区17587487495: linux中进程的三种启动方式 -
羊吉速脲: 不知道你要求的启动方式是从什么角度说.通常可以用rc[0-3].d下加自动启动脚步,或者用用户登录直接运行进程,或者在运行进程后面加“&”符号.

马塘区17587487495: linux 管道原理? -
羊吉速脲: 在Linux中,管道是一种使用非常频繁的通信机制.从本质上说,管道也是一种文件,但它又和一般的文件有所不同,管道可以克服使用文件进行通信的两个问题,具体表现为:限制管道的大小.实际上,管道是一个固定大小的缓冲区...

马塘区17587487495: 关于Linux的调度!!! -
羊吉速脲: 进程调度策略就是调度系统种哪一个进程来CPU运行.这种调度分2层考虑.第一层,进程状态这个是最优先考虑的,也就是说优先级最高的.在linux中只有就绪态的进程才有可能会被调度选中然后占有CPU,其它状态的进程不可能占有的到...

马塘区17587487495: 简述进程的定义并描述进程三态转换原因有哪些 -
羊吉速脲: 第二章 1. 什么是前趋图?为什么要引入前趋图? 答:前趋图(Precedence Graph)是一个有向无循环图,记为DAG(Directed Acyclic Graph),用于描述进程之间...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网