如何使用Linux系统对进程进行管理

  众所周知,Windows系统是有任务管理器的,我们可以通过快捷键将任务管理器召唤出来。我们所要学习的Linux系统中的进程就相当于Windows的任务管理器,只不过进程需要我们使用命令查看~

这里我们首先要了解的是什么是进程?

• 已分配内存的地址空间;
       • 安全属性,包括所有权凭据和特权;
       • 程序代码的一个或多个执行线程;
       • 进程状态。(r:运行;s:睡眠;t:暂停;z:僵尸;x:死掉)

     程序与进程的区别: 

       程序: 二进制文件,静态 /usr/bin/passwd ,/usr/sbin/useradd
       进程: 是程序运行的过程, 动态,有生命周期及运行状态。

 一、进程管理process

1、静态查看ps

命令:ps aux    (查看全部进程)

 

命令:ps aux |   head  -2      (显示进程头两行)

USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1      0.0       0.6   128096   6708 ?         Ss    16:20    0:01  /usr/lib/systemd/systemd

下面解释一下 ps aux 输出字段的含义:

user:运行进程的用户

pid:进程id

%cpu:cpu占用率

%mem:内存占用率

vsz:占用虚拟内存

rss:占用实际内存

tty:进程运行的终端

stat:进程状态

time:进程占用cpu的总时间

command:进程文件,进程名

2、进程排序

命令:ps aux --sort %cpu  (以升序的形式查看cpu的占用率)

命令:ps aux --sort -%cpu    (以降序的形式查看cpu的占用率)

3、进程的父子关系

命令:ps -ef    

ps:ppid指的是父进程,pid是他的子进程~

4、自定义显示字段

命令:ps axo 想要显示的字段

eg:ps axo user,pid,ppid,%mem,command  |head  -5   

二、动态查看进程top

命令:top   (这个每隔一段时间刷新一次)

下面对上半部分的内容进行解释,如下图:

下面对下半部分的字段进行解释,pid、user、%mem、%cpu 已经介绍过这里不再解释。

VIRT:virtual memory usage 虚拟内存   需要这些内存,但并没有占满。

RES:resident memory usage 常驻内存   用了多少内存

SHR:shared memory 共享内存  1、除了自身进程的共享内存,也包括其他进程的共享内存。2、共享内存大小公式:RES – SHR

top常用内部指令:

h|?帮助
M 按内存的使用排序
P 按CPU使用排序
N 以PID的大小排序

< 向前
> 向后
z 彩色,Z设置彩色,使用数字调整

TOP使用技巧

命令:top          //回车,立刻刷新。按z彩色显示,按F,通过光标设置列的顺序。
命令: top -d 1   //每1秒刷新。
命令: top -d 1 -p 10126 查看指定进程的动态信息
命令: top -d 1 -p 10126,1    查看10126和1号进程

三、使用信号控制进程kill

1、信号种类

给进程发送信号(kill -l列出所有支持的信号)
[root@qianfeng ~]# kill -l 
编号 信号名
1) SIGHUP 重新加载配置
2) SIGINT 键盘中断Ctrl+C
3) SIGQUIT 键盘退出Ctrl+\,类似SIGINT
9) SIGKILL 强制终止,无条件
15) SIGTERM 终止(正常结束),缺省信号
18) SIGCONT 继续
19) SIGSTOP 暂停
20)SIGTSTP 键盘暂停Ctrl+Z

2、信号9,15

命令:kill -9  进程的pid

命令:kill -15  进程的pi

 

四、进程优先级nice

1、简介

  Linux 进程调度及多任务。每个CPU在一个时间点上只能处理一个进程,通过时间片技术,来同时运行多个程序。

2、优先级的范围和特性

  ①优先级图示

 系统中的两种优先级:

在top中显示的优先级有两个,PR值和nice值

NI: 实际nice值
PR(+20): 将nice级别显示为映射到更大优先级队列,-20映射到0,+19映射到39

② 优先级特性

nice值越大,表示优先级越低  例:+19

nice值越小,表示优先级越高  例:-20

3、查看进程的级别

命令:ps axo pid,command,nice --sort=-nice

4、启动不同nice级别的进程

① 默认情况

启动进程时,通常会继承父进程的 nice级别,默认为0。

② 手动启动不同的nice

命令:nice -n 想设置的优先级 进程

5、更改现有进程的nice级别

命令:renice 想设置的优先级 pid

 

 五、作业控制jobs

简介:作业控制是一个命令行功能,也叫后台运行。

fg(foreground ):前台进程:是在终端中运行的命令,占领终端。

bg(background):后台进程:没有控制终端,它不需要终端的交互。看不见,但是在运行。

命令:jobs (查看后台进程)

命令:fg 1(将工作1调回前台)

命令:kill %1 (消灭后台进程)

 注意:“kill 1”   和   “kill   %1”  不同,前者终止PID为1的进程,后者杀死作业序号为1的后台程序。

 

将后台的进程调到前台 命令为:fg 工作的号(就是jobs查看时前面括号里的数字) ,使用Ctrl +z 是进程终止 ,想要再调回后台命令:bg  工作的号。

六、虚拟文件系统proc

 虚拟文件系统:采集服务器自身 内核、进程运行的状态信息。

CPU:/proc/cpuinfo      

命令: cat   /proc/cpuinfo

内存:/proc/meminfo    

命令: less /proc/meminfo     

内核: /proc/cmdline  

命令:cat /proc/cmdline 

猜你喜欢

转载自blog.csdn.net/yiweii/article/details/107671423