Linux系统管理(一)——进程管理

************************************如有写错或者不准之处还请指出************************************

1-1Linux进程介绍与进程管理的作用

  Linux系统管理员面临的最复杂的任务之一就是追踪运行在系统中的程序。想要监看这些运行的 程序,那就要熟悉ps命令的用法。下面将介绍ps,pstree,top,kill,killall,pkill和nice等命令。

  (1)进程简介

    进程:是指当程序运行在系统上时,称之为进程。(或者另一种解释)

    进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。

  (2)进程管理的作用

    1.判断服务器的健康状态   ----->在服务器中主要作用

    2.查看系统中所有进程。

    3.杀死进程  ------>服务器中不是很重要的作用。(注意:即使cpu占用99%及以上,也不能随意杀死进程)

1-2进程查看ps和pstree命令

  Linux系统中使用的GNU  ps命令支持3种不同的类型的命令行参数:

    1.Unix风格的参数:前面加破折号;

    2.BSD风格的参数:前面不加剖折号;

    3.GNU风格的参数:前面双破折号。

   详细的区别在此不再论述。(可以百度) 

  (1)查看所有进程

      1.ps  aux      #查看系统中的所有进程,使用BSD风格

      2.ps  -le     #查看系统中的所有进程,使用Linux风格

      其中常用的选项:

        -a:显示一个终端的所有进程,除了会话引线。

        -u:显示进程的归属用户及内存的使用情况。

        -x:显示没有控制终端的进程。

        -l:长格式显示。显示更加详细的信息。

        -e:显示所有进程,和-A作用一样。

      3.ps  -aux命令也是可以执行没问题的:加上一个“-”会有一行报错,但并不影响,加‘-’是Linux的风格。不加为BSD风格。

而使用ps aux则没有:

  

想知道详细信息我们可以man ps。(

  (2)ps的输出

    

  详细的ps命令的输出情况可以对照上面的图。

  其中START列为双字符状态码,能比Unix风格输出的单字符状态码更详细。其中第一个字符采用了和Unix风格s列相同的值,表明进程是在休眠,运行还是等待等等。第二个字符进一步说明进程的特点。

第一个字符:

  O:正在运行;

  S:休眠;

  T:停止;

  R:可运行,正等待运行;

  Z:僵化,进程已结束但父进程已不存在;

第二个字符:

  <:该进程运行在高优先级上;

  N:进程运行在低优先级上;

  L:该进程有页面锁定在内存中;

  s:该进程是控制进程(包含子进程);

  l:该进程是多进程的;

  +:该进成位于后台。

  (3)查看进程树pstree命令

    pstree  [选项]   #查看进程树

    选项:-p  :显示进程的PID

       -u:显示进程的所属用户

    具体运行:

    完整的太长了...所以...

1-3进程查看top命令

  (1)查看系统的健康状态

    top [选项]   #查看系统的健康状态

    选项:-d:指定top命令每隔几秒更新(默认是3s)一般我们不需要更改。

       -b:使用批处理模式输出。一般和‘-n’选项合用

       -n  次数 :指定top命令执行的次数。一般和‘-b’选项合用

    在top命令的交互中可以执行的命令(即top命令正在刷新的过程中按下下面的键,按esc键退出到top中):

       ?或者h:显示交互的帮助  

       P:已使用cpu使用率排序,默认是此项

       M:以内存的使用率排序

       N:以PID排序

       q:退出top

   *** 建议:承担高负载的服务器,如游戏,电影,视频等网站的服务器就,建议每周重启一次。

  如果我们想看到全部的进程信息,可以使用-b -n选项合用。

如:ps  -b  -n 1 > top.log    #批处理 每1s刷新一次,存到top.log文件中(其中>为输出重定向)

然后我们可以输入vi top.log命令就可以看到完整的进程信息了。

  (2)top前五行解读

     

  其中,buffers 缓冲是用来加速写入,cached缓存是用来加速读取的。

  服务器健康评判最重要看的数据:1.load average:0.0,0.0,0.0;2.cpu空闲率(100%id);3内存空闲空间(6780k free);4.swap空闲内存第五行的(5424802k free)。

1-4杀死进程

   1.kill命令(杀死单一进程)

    kill -l   #查看可用的进程信息,如果不加信号的编号参数,则使用“-l”参数会列出全部的信号名称

    部分信号说明如下:

    

  例如:kill  -9  2236       #强制杀死2236号进程;

   或者kill  -KILL 2236   #强制杀死2236号进程

    kill  -HUP  1523        #吧1523号阿帕奇服务器进程重启一遍(这样重启阿帕奇服务器是平缓重启不会导致已经登录的用户掉线),注意一定要是进程ID号,不能为进程名

   或者kill  -1  1523 与上面一样的作用

    注意:只有在该进程正常终止无效时,才执行强制终止杀死该进程,不能随意强制杀死进程。(避免出现用户体验很差。)

  2.killall命令(杀死多个进程)

    killall [选项] [信号] 进程名      #按照进程名杀死进程

    选项: -i   :交互询问是否要杀死该进程。

       -I:忽略大小写

    例如:killall  -i   -9  httpd     #杀死httpd进程,注意killall后面一定要写进程名,来杀死一系列此进程。

  3.pkill命令

    pkill [选项] [信号] 进程号    #按照进程号终止进程

    选项:-t 终端号 :按照终端号踢出用户

    例如:pkill  -9  -t  pts/1      #强制杀死以pts/1虚拟终端登录的进程。

******若两个用户都是root超级用户,那么先下手为强。看谁先执行踢出对方命令。

    w       #使用w命令查看下本机已经登录的用户

   例如:

1-5修改进程优先级

  (1).进程优先级介绍

    Linux操作系统是多用户,多任务操作系统,Linux系统中通知运行着非常多的进程,但是cpu在同一时钟周期内只能运算一个指令。那么进程优先级决定了每一个进程的处理先后了。

    ps -le    #查看进程

其中,PRI代表Priority,NI代表Nice,这两个值都是代表优先级,数字越小优先级越高。

注意:PRI值是 无法修改的(即使你是root用户),而NI值是可以修改的,所以我们是通过修改NI值来改变优先级的。PRI与NI值之和决定优先级。

    修改NI值是时有几个要注意的事项:

      1.NI值的范围是-19到20;

      2.普通用户调整NI值的范围是0到19,而且只能调整自己的进程;

      3.普通用户只能调高NI值,而不能降低NI值,如原本NI值为0,则只能调整值为大于0;

      4.root用户才能设定进程NI值为负数,而且可以调整任何用户任何进程;

      5.PRI(最终值)=PRI(原始值)+NI;

      6.用户只能修改NI值,而不能修改PRI值。

  2.nice命令(修改NI值)

   nice  [选项]  命令           #nice命令可以给新执行的命令直接赋予NI值,但是不能修改已经已经存在的进程值。(若要修改已经存在的用renice命令)

   选项:-n  NI值  :给命令赋予NI值

   例如:

      service  httpd  stop      #先暂停阿帕奇服务器

      nice  -n  -5  service httpd start    #在给httpd赋予NI值为5

   

    

   renice [优先级]  PID       #renice命令是修改已经的进程NI值

  例如:renice  -10  2125         #

注意:进程优先级的修改是认为感观无法察觉的 ,除非是做Linux内核裁剪,或者嵌入式开发等可以感觉到。

最后,不懂的命令都是可以通过man  命令进行查询Linux官方文档。

   

************************************如有写错或者不准之处还请指出************************************

原文地址:https://www.cnblogs.com/exproration/p/10498887.html

时间: 2024-10-08 12:49:04

Linux系统管理(一)——进程管理的相关文章

linux系统管理之进程管理

进程管理的操作命令 为了管理这些linux进程,用户应该能够: 查看所有运行中的进程 查看进程消耗资源 定位个别进程并且对其执行指定操作 改变进程的优先级 杀死指定进程 限制进程可用的系统资源等 linux提供了许多命令来让用户来高效掌控上述的操作: 1.pstree - 显示进程的树状图来展示进程间关系 linux中,每一个进程都是由其父进程创建的.此命令以可视化方式显示进程,通过显示进程的树状   图来展示进程间关系.如果指定了pid了,那么树的根是该pid,不然将会是init(pid: 1

Linux系统管理10——进程和计划任务管理

Linux系统管理10——进程和计划任务管理 一.程序和进程的关系 1.程序 ·保存在硬盘.光盘等介质中的可执行代码和数据 ·静态保存的代码 2.进程 ·在CPU及内存中运行的程序代码 ·动态执行的代码 ·父.子进程:每一个进程可以创建一个或多个进程 二.静态查看进程统计信息 ps命令 1.ps aux 命令 (1)作用:以简单列表的形式显示出进程信息 (2)选项释义: a:显示当前终端下的所有进程信息,包括其他用户的进程 u:使用以用户为主的格式输出进程信息 x:显示当前用户在所有终端下的进程

Linux 系统管理04--账号管理

Linux系统管理04--账号管理 一.用户账号管理 1.用户账号概述 (1)用户账号的常见分类: 1>超级用户:root uid=0 gid=0 权限最大. 2>普通用户:uid>=500 做一般权限的系统管理,权限有限.(500<uid<60000) 3>程序用户:1=<uid<500 为了提升系统安全性,为了支持所对应服务对系统资源 的使用,不能用于登录系统或管理系统. (2)UID:用户标识 (3)用户账号文件 1>  /etc/passwd

Linux入门之进程管理(4)之进程与文件

Linux入门之进程管理(4)之进程与文件 前面使用进程相关命令管理工具都是根据进程编号或者进程名称及其其它属性信息来查看和处理相关进程的,但是在某些情况下,想要查看某个文件或者某个设备被哪些进程所使用,使用ps.pgrep等命令查询的是不够准确的,而且有些时候并不是简单的去打开某个文本文件一样,这样还可以进行搜索过滤出来.而在linux系统中,除了常见的配置文件.日志文件等文本文件,几乎任何对象都会被内核映射去该有的文件,比如磁盘设备.挂载点等.当要知道那些用户通过哪些进程来在访问或者使用此文

linux应用开发-进程管理

linux应用开发-进程管理 一 进程 一个组成部分是操作系统用来管理进程的内核对象,内核对象是系统用来存放进程的统计信息的地方 1 每个进程都有一个父进程 2 子进程终止,父进程会得到通知并能去的进程的退出状态 3 命名空间 类似有C++的namespace 4 进程组 每个进程都有一个进程组,都有一个进程组号=组长PID 进程组组长-groupleader 5 会话期session是一个或多个进程组的集合 setsid可以创建会话期 6 相关换算 2^10 = 1K 2^20 = 1M 2^

Linux学习之进程管理(十九)

Linux学习之进程管理 进程查看 查看系统中所有进程,使用BSD操作系统的格式 语法:ps aux 选项: a:显示所有前台进程 x:显示所有后台进程 u:显示这个进程是由哪个用户产生的 语法:ps -le 查看系统中所有进程,使用Linux标准命令格式 选项 l:显示详细信息 e:显示所有进程 USER:该进程是由哪个用户产生的 PID:进程的ID号 %CPU:该进程占用CPU资源的百分比,占用越高,进程越消耗资源. %MEM:该进程占用物理内存的百分比,占用越高,进程越消耗资源. VSZ:

Linux系统管理之磁盘管理与文件系统

Linux系统管理之磁盘管理与文件系统 一.前言 管理磁盘是管理员的重要工作内容,本文主要介绍以下几个方面 磁盘结构及分区表示 管理磁盘及分区 管理文件系统 二.磁盘(无尘环境制造)结构及分区 1.物理结构 盘片:硬盘有多个盘片,每盘片2面 磁头:每面有一个磁头 2.数据结构 扇区:盘片被分为多个扇形区域,每个扇区存放512字节的数据 磁道:同一盘片不同半径的同心圆 柱面:不同盘片相同半径构成的圆柱面 多个扇区组成磁道,多个相同直径的磁道组成柱面 笔记本的磁盘一般是2.5英寸,7mm厚度和9.5

linux下的进程管理(进程的基本了解及查看pstree,ps,pgrep命令)

Linux下的进程管理 1.什么是进程?程序是静态的文件进程是运行中的程序的一个副本进程存在生命周期(准备期,运行期,终止期)2.进程状态 状态 定义 R(TASK_RUNNING) . 可执行状态(RUNNING,READY)running:正在被处理 ready: 在排队, cpu处理进程个数有限 S(TASK_INTERRUPTIBLE) 可唤醒状态 :在cpu上使用的时间超时,此时被打入休眠状态,随着程序的调用会被唤醒 D(TASK_UNINTERRUPTIBLE) 不可唤醒状态 T(T

Linux中的进程管理

什么是进程,顾名思义嘛!就是正在进行的程序,在Linux中,只要开启服务就会在后台对应的有了进程.那么进程管理究竟对于我们的日常运维工作有什么用呢? 主要作用有三点: 首先,最重要的是查看服务器健康状态 第二,查看系统中运行的所有进程 第三,杀死进程 我们用到进程最重要的作不就是用就是用来查看服务器的健康状态,做运维的不就是为了保证服务器能够一直这么正常运行吗? ① top命令 -->查看服务器健康状态 终端直接输入top,如图: 这里面最重要的就是前面的那5行,其中几个比较重要的参数如下: l