Linux 进程信号
信号 | 名称 | 描述 |
---|---|---|
1 | HUP | 挂起 |
2 | INT | 中断 |
3 | QUIT | 结束运行 |
9 | KILL | 无条件终止 |
11 | SEGV | 段错误 |
15 | TERM | 尽可能终止 |
17 | STOP | 无条件停止运行,但不终止 |
18 | TSTP | 停止或暂停,但继续在后台运行 |
19 | CONT | 在 STOP 或 TSTP 之后恢复执行 |
kill命令
Linux kill 命令用于删除执行中的程序或工作。kill 可将指定的信息送至程序。预设的信息为 SIGTERM(15),可将指定程序终止。若仍无法终止该程序,可使用 SIGKILL(9) 信息尝试强制删除程序。程序或工作的编号可利用 ps 指令查看。
- 1 (HUP):重新加载进程。
- 9 (KILL):杀死一个进程。
- 15 (TERM):正常停止一个进程。
杀死进程
kill -9 123456 #数字来源于ps 查找到的pid
ps 命令
Linux ps (英文全拼:process status)命令用于显示当前进程的状态,类似于 windows 的任务管理器。
ps 命令参数名称 | 功能与作用描述 |
---|---|
-a | 显示现行终端机下的所有程序,包括其他用户的程序。 |
-A | 显示所有程序。 |
-c | 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。 |
-e | 此参数的效果和指定 A 参数相同。 例如: ps -e |
e | 列出程序时,显示每个程序所使用的环境变量。 |
f | 用ASCII字符显示树状结构,表达程序间的相互关系。 |
-H | 显示树状结构,表示程序间的相互关系。 |
-N | 显示所有的程序,除了执行ps指令终端机下的程序之外。 |
-s | 采用程序信号的格式显示程序状况。 |
-S | 列出程序时,包括已中断的子程序资料。 |
-u | 以用户为主的格式来显示程序状况。 |
-x | 显示所有程序,不以终端机来区分。 |
au(x) 输出格式 :
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
- USER: 行程拥有者
- PID: pid
- %CPU: 占用的 CPU 使用率
- %MEM: 占用的记忆体使用率
- VSZ: 占用的虚拟记忆体大小
- RSS: 占用的记忆体大小
- TTY: 终端的次要装置号码 (minor device number of tty)
- STAT: 该行程的状态:
- D: 无法中断的休眠状态 (通常 IO 的进程)
- R: 正在执行中
- S: 静止状态
- T: 暂停执行
- Z: 不存在但暂时无法消除
- W: 没有足够的记忆体分页可分配
- <: 高优先序的行程
- N: 低优先序的行程
- L: 有记忆体分页分配并锁在记忆体内 (实时系统或捱A I/O)
- START: 行程开始时间
- TIME: 执行的时间
- COMMAND:所执行的指令
查看进程
ps -aux | grep nginx
ps -ef | grep mysql
显示指定用户信息
ps -u root //显示root进程用户信息
显示进程信息
ps -A
top命令
Linux top命令用于实时显示 process 的动态。使用权限:所有使用者。
top 命令参数名称 | 功能与作用描述 |
---|---|
d | 改变显示的更新速度,或是在交谈式指令列( interactive command)按 s |
q | 没有任何延迟的显示速度,如果使用者是有 superuser 的权限,则 top 将会以最高的优先序执行 |
c | 切换显示模式,共有两种模式,一是只显示执行档的名称,另一种是显示完整的路径与名称 |
S | 累积模式,会将己完成或消失的子进程 ( dead child process ) 的 CPU time 累积起来 |
s | 安全模式,将交谈式指令取消, 避免潜在的危机 |
i | 不显示任何闲置 (idle) 或无用 (zombie) 的进程 |
n | 更新的次数,完成后将会退出 top |
b | 批次档模式,搭配 “n” 参数一起使用,可以用来将 top 的结果输出到档案内 |
显示内容
- PID:进程号或进程ID;
- USER:进程属主的名字;
- PR:进程的优先级;
- NI:进程的谦让度值;
- VIRT:进程占用的虚拟内存总量;
- RES:进程占用的物理内存总量;
- SHR:进程和其他进程共享的内存总量;
- S:进程的状态,D 表示可中断的休眠状态,R 表示运行状态,S 表示休眠状态,T 表示跟踪状态或停止状态,Z 表示僵化状态;
- %CPU:进程使用的 CPU 时间比例;
- %MEM:进程使用的内存占可用内存的比例;
- TIME+:自进程启动到目前为止 CPU 时间总数;
- COMMAND:进程所对应的命令行名称,也就是程序启动时的程序名。
设置信息更新次数
top -n 2 //表示更新两次后终止更新显示
设置信息更新时间
top -d 3 //表示更新周期为3秒
显示指定的进程信息
top -p 139 //显示进程号为139的进程信息,CPU、内存占用率等
netstat命令
netstat命令参数名称 | 功能与作用描述 |
---|---|
-a或–all | 显示所有连线中的Socket。 |
-A<网络类型>或–<网络类型> | 列出该网络类型连线中的相关地址。 |
-c或–continuous | 持续列出网络状态。 |
-C或–cache | 显示路由器配置的快取信息。 |
-e或–extend | 显示网络其他相关信息。 |
-F或–fib | 显示路由缓存。 |
-g或–groups | 显示多重广播功能群组组员名单。 |
-h或–help | 在线帮助。 |
-i或–interfaces | 显示网络界面信息表单。 |
-l或–listening | 显示监控中的服务器的Socket。 |
-M或–masquerade | 显示伪装的网络连线。 |
-n或–numeric | 直接使用IP地址,而不通过域名服务器。 |
-N或–netlink或–symbolic | 显示网络硬件外围设备的符号连接名称。 |
-o或–timers | 显示计时器。 |
-p或–programs | 显示正在使用Socket的程序识别码和程序名称。 |
-r或–route | 显示Routing Table。 |
-s或–statistics | 显示网络工作信息统计表。 |
-t或–tcp | 显示TCP传输协议的连线状况。 |
-u或–udp | 显示UDP传输协议的连线状况。 |
-v或–verbose | 显示指令执行过程。 |
-V或–version | 显示版本信息。 |
–ip或–inet | 此参数的效果和指定"-A inet"参数相同。 |
显示内容解释
[root@localhost ~]# netstat -apn
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp6 0 0 :::33060 :::* LISTEN 1632/mysqld
tcp6 0 0 :::3306 :::* LISTEN 1632/mysqld
tcp6 0 0 192.168.137.133:3306 192.168.137.1:64999 ESTABLISHED 1632/mysqld
tcp6 0 0 192.168.137.133:3306 192.168.137.1:56421 ESTABLISHED 1632/mysqld
tcp6 0 0 192.168.137.133:3306 192.168.137.1:56599 ESTABLISHED 1632/mysqld
- Proto:代表协议(tcp、tcp6、udp、udp6)
- Recv-Q:数据已经在本地接收缓冲,但是还没有recv()
- Send-Q:对方没有收到的数据或者说没有Ack的,还是本地缓冲区
- Local Address: 本地IP:本地端口
- Foreign Address: 远程IP:远程端口
- State:链接状态(监听状态:LISTEN、建立连接状态:ESTABLISHED等)
- PID:进程PID号
- Program name:程序名字
显示详细的网络状况
netstat -a
显示网卡列表
netstat -i
通过 PID 查找到端口号
netstat -apn | grep 12471