程序是一个包含可执行代码的文件,它放在磁盘等介质上。 当程序被操作系统调用到内存并分配给它一定的资源后,此时可称为进程。
程序是静态概念,进程是动态概念。
Linux的进程状态如下图

|
ps |
---|
功能描述 |
ps命令是用来显示系统瞬间的进程信息,它可以显示出来用户输入ps命令时系统的进程及进程的相关信息 |
语法 |
ps 【参数】 |
-l |
长格式输出 |
-u |
按用户名和启动时间的顺序来显示进程 |
-j |
用任务格式来显示进程 |
-f |
用树形格式来显示进程 |
-a |
显示所有用户的进程(包括其它用户) |
-x |
显示无控制终端的进程 |
-r |
显示运行中的进程 |
|
top |
---|
功能描述 |
动态监视系统任务的工具,输出结果是连续的 |
语法 |
top【参数】 |
-b |
以批量模式运行,但不能接受命令行输入 |
-c |
显示命令行,而不仅仅是命令名 |
-d N |
显示两次刷新时间的间隔,比如 -d 5,表示两次刷新间隔5秒 |
-i |
禁止显示空闲进程或僵尸进程 |
-n NUM |
显示更新次数,然后退出。比如top 5,表示更新5次数据就退出 |
-p PID |
仅监视指定进程的ID,PID是一个数值 |
-q |
不仅任何延时就刷新 |
-s |
安全模式运行,禁止一些交互指令 |
-S |
积累模式,输出每个进程的总的CPU时间 |
按下U键 |
输入用户名,查看用户进程 |
按下K键 |
输入PID,删除进程 |
|
kill |
---|
功能描述 |
向某个进程(通过PID标识)传送一个信号,它通常与ps和jobs命令一起使用 |
语法 |
kill 【-参数】PID |
1:SIGHUP |
启动被终止的进程 |
2:SIGINT |
相当于输入ctrl+c,中断一个程序的运行 |
9:SIGKILL |
强制中断一个进程的进行 |
15:SIGTERM |
以正常的结束进程方式来终止进程 |
17:SIGSTOP |
相当于输入ctrl+z,暂停一个进程的进行 |
|
killalll |
---|
功能描述 |
使用进程的名称来杀死进程,使用此指令可以杀死一组同名进程 |
语法 |
killall【参数】【正在运行的进程名】 |
-e |
对长名称进行精准匹配 |
-I |
忽略大小写的不同 |
-p |
杀死进程所属的进程组 |
-i |
交互式杀死进程,杀死进程前需要确认 |
-l |
打印所有已知信息列表 |
-q |
如果没有进程被杀死,则不输出任何信息 |
-r |
使用正则表达式匹配要杀死的进程名称 |
-s |
用指定的进程号代替默认信息“SIGTERM” |
-u |
杀死指定用户的进程 |
|
nice |
---|
功能描述 |
允许在默认优先级的基础上进行增大或减小的方式来运行命令 |
语法 |
nice【参数】【命令名】 |
-n NUM |
指定程序运行优先级的调整值为NUM |
范围 |
优先级的调整范围为-20—19,其中数值越小优先级越高,数值越大优先级越低 |
如果没有参数 |
若nice命令未指定优先级的调整值,则以缺省值10来调整程序运行优先级,即在命令通常运行优先级基础上增加10 |
|
renice |
---|
功能描述 |
改变一个正在运行的进程的nice值 |
语法 |
renice【参数】【pid】 |
-n |
指定程序运行优先级的调整值,例:renice -5 777 |
|
& |
---|
功能描述 |
将某个进程工作放到后台运行 |
例子 |
cp -r /usr/* test &是将/usr目录下的所有子目录及文件复制到/root/test目录下的工作放到后台运行 |
|
进程的挂起和恢复 |
---|
Ctrl+Z |
将进程挂起 |
Ctrl+C |
将进程终止 |
fg |
恢复到前台继续运行 |
bg |
恢复到后台继续运行 |
jobs |
查看被挂起的进程 |