linux系统之进程管理详解

目录
  • 1、进程与线程的概念
  • 2、什么是进程管理
  • 3、进程管理的作用
  • 4、Linux进程的几种状态
  • 5、进程与线程的关系
    • (1)线程与进程的关系
    • (2)总结

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、进程与线程的关系

(1)线程与进程的关系

比如电脑同时进行着200个进程:

线程与进程概念线程: 每个进程中至少包含一个线程,而这些线程都在共享进程的资源空间等,当线程发生变化的时候只会引起CPU执行的过程发生变化,不会改变进程所拥有的资源。同理一个程序中至少包含一个进程。进程中执行运算的最小单位,亦是执行处理机调度的基本单位进程: 每个进程都有自己的地址空间,资源如,内存,I/O,CPU,同一个进程里的 线程共享本进程里的地址空间,那能不能使用别人家进程的地址空间呢,显然这是不可以的。由于进程的独立性,当某一个进程崩溃之后,在保护模式下不会对别的进程进行影响。资源分配的基本单位,运行调度的基本单位,系统中并发执行的单位。

两者的比较调度
同一个进程中,线程的切换不会引起进程的切换。
由一个进程的线程切换到另一个线程的进程时,引起进程的切换。并发性
进程可以并发执行,而一个进程中的线程也可以并发执行。拥有的资源
一般来说,线程并不会拥有自己的资源,但是它可以访问自己本进程中的资源。比如,一个进程打开的文件等,进程中的其他线程是可以共享的。

(2)总结

我们简单总结下:

进程:指在系统中正在运行的一个应用程序,程序一旦运行就是进程,进程是资源分配的最小单位。线程:系统分配处理器时间资源的基本单元,或者说进程之内独立执行的一个单元执行流,线程是程序执行的最小单位。

到此这篇关于linux系统之进程管理详解的文章就介绍到这了,更多相关linux进程管理内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Linux运维基础进程管理实时监控控制

    目录 1.后台运行作业 2.使用信号控制进程 基本进程管理信号 3.监控进程活动 IO负载 4.实时进程监控 top用于实现全屏动态显示系统信息 1.后台运行作业 1.sleep 999 & (运行作业) [root@localhost ~]# sleep 999 & [1] 3670 2.ps -ef|grep sleep(查看进程) [root@localhost ~]# ps -ef|grep sleep root 3670 3642 0 10:54 pts/1 00:00:00 s

  • Linux运维基础进程管理及环境组成分析

    1.进程基本概述 进程是已启动的可执行程序的运行中实例. /proc目录下以数字为名的目录,每一个目录代表一个进程,保存着进程的属性信息. 每一个进程的PID是唯一的,就算进程退出了,其它进程也不会占用其PID 2.进程的组成部分 已分配内存的地址空间 安全属性,包括所有权凭据和特权 程序代码的一个或多个执行线程 进程状态 3.进程的环境 本地和全局变量 当前调度上下文 分配的系统资源,如文件描述符和网络端口 4.进程状态 标志 内核定义的状态名称和描述 R TASK_RUNNING:进程正在C

  • Linux进程管理工具supervisor安装配置教程

    环境:CentOS 7 官方文档:http://supervisord.org/ 安装 # yum install -y epel-release # yum install -y supervisor 启动 # supervisord -c /etc/supervisord.conf # ps -ef | grep supervisor root 19703 1 0 17:32 ? 00:00:00 /usr/bin/python /usr/bin/supervisord -c /etc/su

  • linux系统之进程管理详解

    目录 1.进程与线程的概念 2.什么是进程管理 3.进程管理的作用 4.Linux进程的几种状态 5.进程与线程的关系 (1)线程与进程的关系 (2)总结 1.进程与线程的概念 来源百度百科: 进程(Process) 是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础. 在当代面向线程设计的计算机结构中,进程是线程的容器.程序是指令.数据及其组织形式的描述,进程是程序的实体.是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和

  • Linux系统中.bash_profile文件详解

    目录 一. 环境变量$PATH: 二. 修改环境变量: 三.bash_profile的用途 总结 一. 环境变量$PATH: Linux是一个多用户操作系统,每个用户都有自己专有的运行环境.用户所使用的环境由一系列变量所定义,这些变量被称为环境变量.系统环境变量通常都是大写的. 每个用户都可以根据需要修改自己的环境变量,以达到自己的使用要求.常见的环境变量如下表: 在Shell下通过 美元符号$来引用环境变量,使用echo命令可以查看某个具体 环境变量的值. 例如,查看PATH的值: echo

  • linux系统下hosts文件详解及配置

    hosts文件 hosts -- the static table lookup for host name(主机名查询静态表). hosts文件是Linux系统上一个负责ip地址与域名快速解析的文件,以ascii格式保存在/etc/目录下.hosts文件包含了ip地址与主机名之间的映射,还包括主机的别名.在没有域名解析服务器的情况下,系统上的所有网络程序都通过查询该文件来解析对应于某个主机名的ip地址,否则就需要使用dns服务程序来解决.通过可以将常用的域名和ip地址映射加入到hosts文件中

  • 关于linux中系统输入输出的管理详解

    系统中输入输出的管理 1.理解系统的输入输出 linux系统中,1表示正确输出,2表示错误输出 2.管理输入输出的符号 (1)输出重定向(输出到指定的位置) > ##重定向正确输出 2> ##重定向错误输出 &> ##重定向全部输出 注意:以下实验应在普通用户中完成 find /etc/ -name passwd > file1 ##定向正确输出到file1(会显示未放到文件里的错误输出) find /etc/ -name passwd 2> file2 ##定向错误

  • Linux系统中systemctl命令详解

    Linux Systemctl是一个系统管理守护进程.工具和库的集合,用于取代System V.service和chkconfig命令,初始进程主要负责控制systemd系统和服务管理器.通过Systemctl –help可以看到该命令主要分为:查询或发送控制命令给systemd服务,管理单元服务的命令,服务文件的相关命令,任务.环境.快照相关命令,systemd服务的配置重载,系统开机关机相关的命令. 1. 列出所有可用单元 # systemctl list-unit-files 2. 列出所

  • Linux 编程之进程fork()详解及实例

    Linux fork()详解: 在开始之前,我们先来了解一些基本的概念: 1. 程序, 没有在运行的可执行文件 进程,  运行中的程序 2. 进程调度的方法: 按时间片轮转       先来先服务      短时间优先      按优先级别 3. 进程的状态: 就绪   ->>   运行  ->> 等待          运行 ->> 就绪 //时间片完了          等待 ->> 就绪 //等待的条件完成了 查看当前系统进程的状态 ps auxf s

  • 基于python的Linux系统指定进程性能监控思路详解

    监控Linux服务器的工具.组件和程序网上有很多,但是一台服务器上会有很多进程同时运行,特别是做性能测试的时候,可能一台服务器上部署多个服务,如果只监控整个服务器的CPU和内存,当某个服务出现性能问题时,并不能有效准确的定位出(当然通过其他工具也可以实现),因此,很有必要只监控指定的进程.需求明确了,于是动手撸了一个性能监控脚本. 一.整体思路 1.为了方便的启动监控和停止监控,在想查看监控结果的时候随时查看监控结果,用flask开启了一个服务,通过发送get请求可以随时启停监控和查看监控结果.

  • Linux进程控制详解及实例

    Linux进程控制详解及实例 常用函数: fork() 通过复制调用进程来建立新的进程,是最基本的进程建立操作. exec   包括一系列的系统调用,其中每个系统调用都完成相同的功能,即通过用一个新的程序覆盖原内存空间,来实现进程的转变.各种exec系统调用之间的区别仅在于它们的参数构造不同. wait() 它提供了初级的进程同步措施,能使一个进程等待,直到另一个进程结束为止. exit()  常用来终止一个进程的运行. 进程的建立 如果fork()调用成功,就会使内核建立一个新的进程,所建的新

  • Linux 监控文件被什么进程修改(详解)

    安装: apt-get install auditd. 1.auditd 是后台守护进程,负责监控记录 2.auditctl 配置规则的工具 3.auditsearch 搜索查看 4.aureport 根据监控记录生成报表 比如,监控 /root/.ssh/authorized_keys 文件是否被修改过: aditctl -w /root/.ssh/authorized_keys -p war -k auth_key •-w 指明要监控的文件 •-p awrx 要监控的操作类型,append,

  • 关于Linux账号管理详解

    本文针对Linux系统单个用户管理操作以及群组的管理操作做了详细的分析以及需要注意的地方,一起学习下. 一.用户管理 1. 用户账号管理文件 要对Linux中的用户账号进行管理,首先当然应该了解用户账号在Linux系统中是怎么保存的,这涉及到两个文件--/etc/passwd与/etc/shadow,前者保存用户的UID和GID等基本信息,后者则主要保存与账号密码相关的一些信息. 先来看看/etc/passwd这个文件存的是啥(这里只取前三行): 在此文件中,每个用户账号信息存为一行,每一行有7

随机推荐