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