Day20-进程管理

一、什么是进程?

当我们运行一个程序,那么我们将运行的程序叫做进程

二、程序与进程之间有什么区别?

1、程序是数据和指令的集合,是一个静态的概念。比如/bin/ls、/bin/cp等二进制文件。同时程序可以长期存在系统中。

2、进程是程序运行的过程,是一个动态的概念。进程是存在生命周期的概念的,也就是说进程会随着程序的终止而销毁,不会永久存在系统中。

三、进程的生命周期?

生命周期是指一个对象的生老病死,用处很广。


四、进程运行的状态指标?

STAT基本状态         描述                   STAT状态+符号                  描述

      R                     进程运行                      s                                 进程是控制进程,Ss进程的领导者,父进程

      S                     可中断睡眠                  <                                 进程运行在高优先级上,S<优先级较高的进程

      T                     进程被暂停                  N                                进程运行在优先级上,SN优先级较低的进程

      D                    不可中断睡眠               +                                当前进程运行在前台,R+该表示进程在前台运行

      Z                    僵尸进程                       I                                 进程是多线程的,SI表示进程是以线程方式运行

五、如何监控进程的状态、静态ps、动态top?


#使用 ps aux查看当前的进程状态(静态)


状态                     描述

USER                  启动进程的用户

PID                      进程运行的ID号

%CPU                 进程占用CPU百分比

%MEM                进程占用内存百分比

VSZ                     进程占用虚拟内存大小(单位Kb)

RSS                    进程占用物理内存实际大小(单位kb)

TTY                    进程是由哪个终端运行启动的tty1、pts/0等? 表示内核程序与终端无关

STAT                  进程运行过程中的状态 man ps (/STATE)

START               进程的启动时间

TIME                 进程占用CPU的总时间(为0表示还没超过秒)

COMMAND      程序的运行指令,[方括号]属于内核态的进程。没有[ ]的是用户态进程。


#使用top命令查看当前的进程状态(动态)



任务                                                                含义

Tasks:129 total                                           当前进程的总数

1 running                                                      正在运行的进程数

128 sleeping                                                 睡眠的进程数

0 stopped                                                      停止的进程数

0 zimbie                                                        僵尸进程数

%Cpu(s):0.7 us                                           系统用户进程使用CPU百分比

0.7 sy                                                          内核中的进程占用CPU百分比,通常内核是用于硬件进行交互

98.7 id                                                         空闲CPU的百分比

0,0 wa                                                         CPU等待IO完成的时间

0.0 hi                                                           硬中断,占的CPU百分比

0.0 si                                                           软中断,占的CPU百分比

0.0 st                                                           比如虚拟机占用物理CPU的时间

#top 常见指令

字母    含义

h         查看帮出

1         数字1,显示所有CPU核心的负载

z         以高亮显示数据

b         高亮显示处于R状态的进程

M        按内存使用百分比排序输出

p         按CPU使用百分比排序输出

q         退出top

六、进程中的iowait 硬中断、软中断?

Linux 中的中断处理程序分为上半部和下半部;

上半部对应硬件中断,用来快速处理中断

下半部对应软中断,用来异步处理上半部未完成的工作

Linux 中的软中断包括网络收发、定时、调度、等各种类型,可以通过查看 /proc/softirqs 来观察软中断的运行情况

七、如何管理进程kill、killall、pkill?

#当程序运行为进程后,如果希望停止进程,我们可以使用Linux的kill命令对进程发送关闭信号,除了kill、还有killall、pkill

1、使用kill -l列出当前系统所支持的信号


虽然linux支持信号很多,但是我们仅列出最为常用的三个信号

数字编号           信号含义              信号翻译

    1                    SIGHUP              通常用来重新加载配置文件

    9                    SIGKILL              强制杀死进程

   15                   SIGTERM           终止进程,默认kill使用该信号

#1、给 vsftpd 进程发送信号 1,15


#2、发送重截信号,例如 vsftpd 的配置文件发生改变,希望重新加载

[root@localhost ~]# kill -1 9160

#3、发送停止信号,当然vsfpd 服务有停止的脚本 systemctl stop vsftpd

[root@localhost ~]# kill 9160

#4、发送强制停止信号,当无法停止服务时,可强制终止信号

[root@localhost ~]# kill -9 9160


2、Linux系统中的killall、pkill命令用于杀死指定名字的进程

#1、通过服务器名称杀掉进程

[root@localhost ~]# pkill nginx

[root@localhost ~]# killall nginx

#2、使用pkill踢出从远程登录到本机的用户,终止pts/0上的所有进程,并且bash也结束(用户被强制退出)

[root@localhost ~]# pkill -9 -t pts/0

八、后台进程如何管理 jobs bg fg screen?

1.jobs、bg、fg的使用(不太重要,了解即可)

[root@localhost ~]# sleep 3000 &       //运行程序(时),让其在后台执行

[root@localhost ~]# sleep 4000          //^Z,将前台的程序挂起(暂停)到后台


[root@localhost ~]# ps aux | grep sleep

[root@localhost ~]# jobs             //查看后台作业


[root@localhost ~]# bg %2        //让作业2在后台运行

[root@localhost ~]# g %1        //让作业1调回到前台

[root@localhost ~]# kill %1       //kill 1,终止 pid 为1 的进程


[root@localhost ~]# (while:; do date; sleep 2; done)& //进程在后台运行,但输出依然在当前终端

[root@localhost ~]# (while:; do date; sleep 2; done)& >//dev/null &

2.screen的使用(重要,生产必用)

#1、安装

[root@localhost ~]# yum install screen -y

#2、开启一个screen窗口,指定名称

[root@localhost ~]# screen -s wget_mysql

#3、在screen窗口中执行任务即可

#4、平滑的退出screen,但不会终止screen中的任务             #如果使用exit,才算真的关闭screen窗口

ctrl+a+d

#5、查看当前正在运行的screen有哪些

[root@localhost ~]# screen -list

#6、进入正在运行的screen

[root@localhost ~]# screen -r wget_mysql

[root@localhost ~]# screen -r 22058

九、进程优先级是什么?nice、renice?服务器假死?

优先级指的是优先享受资源,比如排队买票时,军人优先,老人优先等等

1、使用top或ps命令查看进程的优先级

#1.使用top可以查看nice优先级    NI: 实际nice级别,默认是0。 PR: 显示nice值,-20映射到0,+19映射到39

#2.使用ps查看进程优先级

[root@localhost ~]# ps axo command,nice |grep sshd|grep -v grep

2、nice指定程序的优先级    语法格式 nice -n 优先级数字 进程名称

#1.开启vim并且指定程序优先级为-5

[root@localhost ~]# nice -n -5 vim &

3、enice命令修改一个正在运行的进程优先级。语法格式 renice -n 优先级数字 进程pid

#1.查看sshd进程当前的优先级状态

[root@locolhost ~]# ps axo pid,command,nice | grep  折叠 shd

#2.调整sshd主进程的优先级

[root@localhost ~]# renice -n 20 98002

#3.调整之后记得退出终端

[root@localhost ~]# ps axo pid,command,nice | grep 折叠 shd

[root@localhost ~]# exit

#4.当再次登录sshd服务,会由主进程fork子进程(那么子进程会继承主进程的优先级)

[root@localhost ~]# ps axo pid,command,nice | grep 折叠 shd

#服务器假死

假死,就是能ping通,但是ssh不上去,任何其他操作也没反应

#建议使用nice将sshd的进程优先级调高。这样当系统内存吃紧,还能勉强登陆sshd,进入调试,然后分析故障

十、SATA状态的S、Ss、S<、S、S+、R、R+、D、T、Z等等,都是什么意思?

SATA基本状态                    描述                             STAT状态+符号                       描述

          R                             进程运行                                  s                                  进程是控制进程,Ss进程的领导者,父进程

          S                             可中断睡眠                              <                                  进程运行在高优先级上,S<优先级较高的进程

          T                             进程被暂停                              N                                  进程运行在优先级上,SN优先级较低的进程

          D                            不可中断睡眠                           +                                  当前进程运行在前台,R+表示该进程在前台运行

          Z                             僵尸进程                                  I                                   进程是多线程的,SI表示进程是以线程方式运行

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,417评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,921评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,850评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,945评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,069评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,188评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,239评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,994评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,409评论 1 304
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,735评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,898评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,578评论 4 336
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,205评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,916评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,156评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,722评论 2 363
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,781评论 2 351

推荐阅读更多精彩内容

  • 昨日回顾 1.什么是硬盘, 什么是磁盘 2.磁盘内部结构*磁道,金属颗粒*磁头 由马达带动主轴旋转盘面,磁头磁化磁...
    a幕城阅读 179评论 0 1
  • 今日内容 1.什么是进程 进程是指在系统中正在运行的一个应用程序;线程是系统分配处理器时间资源的基本单元,或者说进...
    5不忘初心0阅读 309评论 0 0
  • 1.什么是进程? 开发写的代码我们称之为程序,那么将程序运行起来,就叫进程 PS: 那么在程序运行成进程后,系统会...
    不懂helloword阅读 248评论 0 0
  • 今日总结 1.什么是进程 我们将写好的代码叫做程序,把程序运行起来叫做进程。也就是当我们运行一个程序,我们将运行起...
    so_q阅读 189评论 0 0
  • 1.什么是进程?2.程序与进程之间有什么区别?3.进程的生命周期?4.进程运行的状态指标?5.如何监控进程的状态、...
    Demon_7636阅读 430评论 0 0