程序

保存在硬盘、光盘等介质中的可执行代码和数据

是静态保存的代码

进程

在CPU及内存中运行的程序代码

是动态执行的代码

父、子进程:每个进程可以创建一个或多个进程

 

ps命令

用途:查看静态的进程统计信息

格式:ps aux

      ps -elf

 

使用ps命令工具时,要注意选项前是否有”-“引导符,例如”e“和”-e”选项的含义是有区别的

ps命令结合“aux”选项使用时,将显示系统中所有的进程信息

    PID:该进程在系统中的数字ID号,在当前系统中是唯一的;    %CPU:CPU占用百分比;    %MEM:内存占用百分比

ps命令结合“-elf”选项使用时,将以长格式显示系统中所有的进程信息,包含更丰富的内容(其中PPID列表示进程的父进程的PID号)

 

image.png

定制属性

ps axo pid,comm,%cpu  --sort=%cpu | tail -1

 

进程状态

image.png

 

常见进程状态

image.png

 

进程优先级决定了CPU对进程调度顺序.在Linux中,进程优先级受nice值(-20-19)影响,默认值为0,nice值越小,则进程对cpu的使用权越具有优先性

调整进程优先级的命令:

nice(启动进程时使用)

nice  -n 5  vi

   renice (对于已经启动的进程)

                  renice 9 1236

 

top命令

用途:查看动态的进程排名信息

 

切换到虚拟机环境演示ps(包括ps aux、ps –elf的用法)、top命令的使用,并讲解输出结果中的要点(CPU占用、内存占用等)

从用途上对比ps、top两个命令的不同,可适当介绍top工具的命令按键:P、M、N、h、q

按P键根据CPU占用情况对进程列表进行排序

按M键根据内存占用情况进行排序

按N键根据启动时间进行排序

按h键可以获得top程序的在线帮助信息

按q键可以正常退出top程序

使用空格键可以强制更新进程状态显示

 

pgrep命令

用途:根据特定条件查询进程PID信息

 

[root@localhost ~]# pgrep "init"

1

[root@localhost ~]# pgrep -l "log"

2538 syslogd

2541 klogd

3221 login

[root@localhost ~]# pgrep -l -U teacher -t tty1

27483 bash

27584 vim

 

 

pgrep命令

用途:根据特定条件查询进程PID信息

 

[root@localhost ~]# pstree -aup

init,1

  ├─acpid,2866

  ├─atd,3060

  ├─auditd,2516

     ├─python,2518 /sbin/audispd

     └─{auditd},2517

……

[root@localhost ~]# pstree -ap teacher

bash,27483

  └─vim,27674 myfile.txt

 

手工启动

前台启动:用户输入命令,直接执行程序

后台启动:在命令行尾加入“&”符号

[root@localhost ~]# cp /dev/cdrom mycd.iso &

[1] 28454

 

调度启动

使用at命令,设置一次性计划任务

使用crontab命令,设置周期性计划任务

 

Ctrl+Z 组合键

将当前进程挂起,即调入后台并停止执行

jobs命令

查看处于后台的任务列表

fg命令

将处于后台的进程恢复到前台运行,需指定任务序号

[root@localhost ~]# jobs

[1]-   Stopped                 cp /dev/cdrom mycd.iso

[2]+  Stopped                 top

[root@localhost ~]# fg 1

 

Ctrl+C组合键

中断正在执行的命令

kill、killall命令

kill用于终止指定PID号的进程

killall用于终止指定名称的所有进程

-9 选项用于强制终止

[root@localhost ~]# pgrep -l "portmap"

2869  portmap

[root@localhost ~]# kill  -9  2869

[root@localhost ~]# killall -9 vim

[1]-  已杀死               /usr/bin/vim file1

[2]-  已杀死               /usr/bin/vim file2

 

pkill命令

用途:根据特定条件终止相应的进程

常用命令选项:

 -U:根据进程所属的用户名终止相应进程

 -t:根据进程所在的终端终止相应进程

[root@localhost ~]# pgrep –l -U "hackli"          

3045 bash

[root@localhost ~]# pkill -9 -U "hackli

[root@localhost ~]# pgrep -l U "hackli