一、进程与程序

Program:程序是二进制以文件形式存在。
Process:进程是一个正在运行中的程序。
PID:程序触发后,执行者的权限、属性、程序的代码与所需的数据加载到内存中。操作系统给予内存中的单元一个标识符——PID。
PPID:每个进程都有一个PID,而PPID则是其父进程的PID。

二、进程管理

2.1 切换进程

使用Ctrl+Z可将当前进程以Stopped状态切换至后台。
使用jobs可查看后台进程(带序号),且最近被切到后台的进程会标有+号,第二个会标有-号,其它的则无标识。

jobs -l
#-l 表示同时显示每个进程的PID
#-S 表示只显示stopped状态的后台进程
#-r 表示只显示run状态的后台进程

输出示例如下:
# jobs -l
[2]- 326615 Stopped                 vim /etc/my.cnf
[3]+ 326651 Stopped                 vim /etc/fstab

使用fg命令可将后台程序唤至前台,跟上序号唤会指定后台进程。

fg
#默认唤回最近切换到后台的进程

fg 5
#唤回序号5的后台进程

使用bg命令可以让后台进程继续运行(而非stopped)。

bg
#默认在后台运行最近一个切换到后台的进程

bg 3
#使序号3的后台进程继续运行。

2.2 结束进程 - kill命令

查看kill命令可用的signal(信号)

kill -l
#-l 小写L,可以列出所有kill可用的signal。

常用的kill信号

kill -15 PID
#-15 以正常步骤结束一个进程
#这是默认信号,因此可以不指定。

kill -2 PID
#执行由键盘输入Ctrl+C同样的操作

kill -1 PID
#-1 表示reload配置文件

kill -9 PID
#强制停止进程
信号编号信号名含义
0EXIT程序退出时收到该信息。
1HUP挂掉电话线或终端连接的挂起信号,这个信号也会造成某些进程在没有终止的情况下重新初始化。
2INT表示结束进程,但并不是强制性的,常用的 "Ctrl+C" 组合键发出就是一个 kill -2 的信号。
3QUIT退出。
9KILL杀死进程,即强制结束进程。
11SEGV段错误。
15TERM正常结束进程,是 kill 命令的默认信号。

2.3 结束进程 - killall命令

killall命令结束指定名字的所有进程。

结束特定进程

killall nginx
#结束所有nginx进程

结束某个用户的全部进程

killall -u www
#结束www用户的所有进程

三、查看进程信息

pstree命令
展示进程之间的关系。

pstree -up 312647
#展示进程312647的进程关系。
#-u 列出进程所属账号
#-p 列出进程pid

pstree -up root
#展示指定用户的进程关系

top命令
动态查看进程信息

top -d 1
#-d 1 表示每1秒更新一次,默认是5秒。

top界面的操作
P:以cpu占用率排序,展示进程。
M:以内存使用量排序
N:以PID进行排序
T:以CPU使用时间排序

标签: System Management

添加新评论