linux系统进程管理是怎样的
本篇内容介绍了"linux系统进程管理是怎样的"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
1、进程与线程的概念
来源百度百科:
进程(Process) 是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。 在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。程序是指令、数据及其组织形式的描述,进程是程序的实体。
线程(thread) 是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。
2、什么是进程管理
到底什么是进程呢?
进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。
那么什么是程序呢?
程序是人使用计算机语言编写的可以实现特定目标或解决特定问题的代码集合。
那我们换一种说法:
程序是人使用计算机语言编写的,可以实现一定功能,并且可以执行的代码集合。进程是正在执行中的程序。程序被执行时,执行人的权限和属性、以及程序的代码都会被加载如内存,操作系统给这个进程分配一个ID号,我们成为PID(进程ID)
3、进程管理的作用
判断服务器健康状态:运维工程师最主要的工作就是保证服务器安全稳定的运行。理想的状态是,在服务器出现问题,但是还没有造成服务器宕机或停止服务时,就人为干预解决了问题。进程管理最主要的工作就是判断服务器当前运行是否健康,是否需要人为干预。如果服务器的CPU占用率、内存占用率过高,就需要人为介入解决问题了。
查看系统中所有的进程:我们需要查看系统中所有正在运行的进程,通过这些进程可以判断系统中运行了哪些服务,是否有非法服务运行。
杀死进程:这是进程管理中最不常用的手段,当我需要停止服务时,会通过正确关闭命令来停止服务(如apache
服务可以通过service httpd stop
来关闭)。只有当正确终止进程的手段失效的情况下,才会考虑使用kill
命令杀死进程(你不是杀手,不要什么进程都用kill来终止,否则非常容易导致服务器崩溃)
4、Linux进程的几种状态
D
:不可被唤醒的睡眠状态,通常用于I/O
情况。
R
:该进程正在运行。
S
:该进程在睡眠状态,可被唤醒。
T
:停止状态,可能是在后台暂停或进程在除错状态。
W
:内存交互状态(从2.6内核开始无效)。
X
:死掉的进程(应该不会出现)。
Z
:僵尸进程。进程已经终止,但是部分程序还在内存当中。
<
:高优先级(以下状态在BSD格式当中出现)。
N
:低优先级。
L
:被锁入内存。
s
:包含子进程。
l
:多线程(小写L)。
+
:位于后台。
5、进程与线程的关系
比如电脑同时进行着200个进程:
线程与进程概念线程: 每个进程中至少包含一个线程,而这些线程都在共享进程的资源空间等,当线程发生变化的时候只会引起CPU执行的过程发生变化,不会改变进程所拥有的资源。同理一个程序中至少包含一个进程。进程中执行运算的最小单位,亦是执行处理机调度的基本单位进程: 每个进程都有自己的地址空间,资源如,内存,I/O,CPU,同一个进程里的 线程共享本进程里的地址空间,那能不能使用别人家进程的地址空间呢,显然这是不可以的。由于进程的独立性,当某一个进程崩溃之后,在保护模式下不会对别的进程进行影响。资源分配的基本单位,运行调度的基本单位,系统中并发执行的单位。
两者的比较调度
同一个进程中,线程的切换不会引起进程的切换。
由一个进程的线程切换到另一个线程的进程时,引起进程的切换。并发性
进程可以并发执行,而一个进程中的线程也可以并发执行。拥有的资源
一般来说,线程并不会拥有自己的资源,但是它可以访问自己本进程中的资源。比如,一个进程打开的文件等,进程中的其他线程是可以共享的。
"linux系统进程管理是怎样的"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!