Linux进程管理-初级

Linux进程管理-初级

背景:

在学习完Linux进程管理后,发现这一块的知识点比较多,很多都是自己以前没有接触过的,而且这部分知识对今后的工作有很大帮助,在这里做个学习的总结,供以后复习。

进程介绍:

什么是进程

进程(Process):运行中的程序的一个副本,是被载入内存的一个指令集合,进程有进程ID(Process ID,PID),用来标记每个进程,UID、GID和SELinux语境决定对文件系统的存取和访问权限,通常从执行进程的用户来继承,进程是存在生命周期的。

Linux系统中 init(CentOS7名字发生了变化) 是系统的第一个进程,进程都是由父进程创建,他们之间是父子关系

进程优先级

进程优先级分为系统优先级、实时优先级和nice值

系统优先级:数组越小优先级越高,CentOS4、5是从0-139,一共140个优先级;CentOS6、7是从0-98,99,一共100个优先级

实时优先级:从99-0,值越大优先级越高

nice值是从-20到19,对应系统优先级100-139或99

进程状态

进程类型:

进程分为守护进程:daemon,在系统引导过程中启动的进程,和终端无关进程

前台进程:跟终端相关,通过终端启动的进程

这两者是可以相互转化的

进程状态:

R :运行态:running

就绪态:ready

睡眠态:

            S 可中断:interruptable

            D 不可中断:uninterruptable

T 停止态:stopped,暂停于内存,但不会被调度,除非手动启动

Z 僵死态:zombie,指子进程退出时,父进程并未对其发出的SIGCHILD信号进行适当处理,导致子进程停留在僵死状态等待其父进程为其收尸,这个状态下的子进程就是僵死进程。

+:前台进程

l:多线程进程

L:内存分页并带锁

N:低优先级进程

<:高优先级进程

s:session leader,会话(子进程)发起者

ps命令:

          查看进程命令:ps

          ps 支持三种选项:

                UNIX选项: 如-A -e

                BSD选项: 如a

                GNU选项: 如–help

          ps选项:默认是显示当前终端中的进程

                a 所有终端中的进程

                x 不链接终端的进程

                u 显示进程所有者的信息

                f 显示进程的父进程

                k|–sort 对属性排序

                o 显示定制的信息 (包括:pid、comm、%cpu、%mem、state、tty、euser进程发起者、ruser真正执行者等)

例子1:

Linux进程管理-初级

例子2:

Linux进程管理-初级

最灵活使用:ps 选项 | 其他命令  (通过管道多查到的进程在筛选,如:ps aux | grep httpd)

pgrep命令:

pgrep [options] pattern

选项:

-u uid:effective user,生效者

-U uid:real user,真正发起运行命令者

-t terminal:与指定终端相关的进程

-l :显示进程名

-a :显示完整格式的进程名

-P pid:显示指定进程的子进程

查看具体某个进程的进程id

pidof命令:

pidof bashname

例子:我在一个终端执行ping命令

Linux进程管理-初级

在另一个终端用pidof查看ping进程对应的进程id

Linux进程管理-初级

进程管理工具-top

直接使用top命令

Linux进程管理-初级

在进入top后可以按P(占据cpu百分比排序)、M(占据内存百分比排序)、T(占据cpu时长)来按不同类型排序,默认是按cpu排序显示。

top选项

-d #:指定刷新时间,默认是3秒

-b:显示所有进程

-n:刷新多少次后退出

kill 命令

向进程发送控制信号可以对进程进行管理,每个信号对应一个数字,信号名称以SIG开头(可省略),不区分大小写

显示当前系统可用信号用命令:kill -l 或者 trap -l

这里例举几个常用的信号:

1)SIGHUP:无需关闭进程,让其重读配置文件

2)SIGINT :中止正在运行的进程,相当于Ctrl+c

3)SIGQUIT:相当于Ctrl+\

9)SIGKILL :强制杀死正在运行的进程,可将用户踢出系统

15)SIGTREM :终止正在运行的进程(比较温柔的杀死进程,有些进程是它无法杀掉的,需要用9)

18)SIGCONT:继续运行

19)SIGSTOP:后台休眠

按PID发生信号:kill [-SIGNAL] pid …

例子:我们用一个终端来执行ping命令,ping命令是前台执行的进程,我们在另一个终端让它后台运行,在让它回到前台。

Linux进程管理-初级

Linux进程管理-初级

Linux进程管理-初级Linux进程管理-初级

Linux进程管理-初级

这时可以用kill -15 2591 来杀死进程,也可以让它变成前台运行,用Ctrl+c结束,命令:先用jobs命令查看在工作的进程,找到ping对应的job号,用fg命令让它处于前台执行。

Linux进程管理-初级

Linux进程管理-初级

按名称发信号:killall [-SIGNAL] comm…

按模式发信号:pkill [optins] pattern

-SIGNAL

-u uid:effective user,生效者

-U uid:real user,真正发起运行命令者

-t terminal:与指定终端相关的进程

-l:显示进程名(pgrep可用)

-a:显示完整格式的进程名(pgrep可用)

-P pid:显示指定进程的子进程

如果你想在执行命令就让他处于后台运行,可以在命令后面加上&符号

Linux进程管理-初级

以上都是进程和进程管理的初步应用,更深层次的使用需要结合实际运用来使用。

原创文章,作者:657188918,如若转载,请注明出处:http://www.178linux.com/85372

(0)
657188918657188918
上一篇 2017-08-26
下一篇 2017-08-26

相关推荐

  • 第九周

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现;   1 #!/bib/bash   2 #   3 a=0   4 x=0   5 y=…

    Linux干货 2017-05-25
  • ☞Web服务器之apache

    Web服务器之apache http协议 telnet的使用 curl命令 httpd的相关配置 welcome.conf — 403 forbidden 修改监听的端口和地址 保持连接 DSO 定义物理主机站点文档 资源访问授权 路径别名Alias 本地httpd-manual 开启status 日志设定 虚拟主机 基于用户的访问控制 httpd压力测试 …

    Linux干货 2016-10-08
  • DNS and Bind

    DNS and Bind      DNS服务器所提供的服务是完成将主机名和转换为IP地址的工作。为什么需要将主机名转换为IP地址的工作呢?这是因为,当网络上的一台客户机访问某一服务器上的资源时,用户在浏览器地址栏中输入的是人类便于识记的主机名和域名。而网络上的计算机之间实现连接却是通过每台计算机在网络中拥有的惟一的IP地址来完…

    Linux干货 2017-06-01
  • CentOS6下的网络信息配置

    简介     我们都知道在我们互联网中,所有的通信都通过网络来完成的,有了网络当然也要有对应的地址,MAC地址是固定不变的,所以能变的只有IP的地址,那么今天来带给大家如何在CentOS6中如何配置网卡。当然一下的所有命令都是在CentOS6中进行的。 一、网卡的配置文件    1.操作网卡的命令 …

    Linux干货 2017-03-20
  • 正则表达式简述

    正则表达式简述 什么是正则表达式: 正则表达式,又称正规表示法、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。 正则表达式分类: 标准正…

    Linux干货 2016-04-05
  • IP地址的三种表示格式及在Socket编程中的应用

       使用TCP/IP协议进行网络应用开发的朋友首先要面对的就是对IP地址信息的处理。IP地址其实有三种不同的表示格式:        1)Ascii(网络点分字符串)-        2) 网络地址(32位无符号整形,网络字节序,大头) &nbsp…

    Linux干货 2015-04-10