管理工具
ps pstree pidof pgrep top htop vmstat dstat nice renice kill jobs killall fg bg nohup pmap
option | explanation |
---|---|
ps 命令 | |
a | 所有跟终端相关的进程 |
x | 所有跟终端无关的进程 |
u | 以用户为中心显示的进程 |
e | 显示所有进程 |
f / F | 完整格式列表 |
o | 要显示的字段 |
H | 显示完整的层级结构 |
经常搭配:
#显示以用户为中心的所有进程
ps aux
#仅进程显示某些字段
ps axo pid,command
pstree
显示进程数
描述 | |
---|---|
pgrep 命令 | |
U USERNAME | 显示该用户所有进程id |
G GROUPNAME | 显示该组中所有进程id |
pidof 命令 | |
pidof COMMAND | 显示该进程id号 |
pmap 命令 | |
pmap PID | 内存地址空间信息 |
top 命令 | |
htop 命令 | |
U | 显示用户进程 |
l | 显示选中进程控制列表 |
s | 查看选中进程系统调用 |
a | hangdog进程到某一颗指定的cpu |
# | 快速将光标定位到指定pid进程上 |
nice值:进程的优先级
有效nice值(-20,+19)
对应于进程优先级(100,139)
进程启动时nice值默认为0,优先级为120
普通用户只能增大nice值,也就是降低优先级
管理员用户可以修改进程任意优先级
手动调整进程优先级:
对于尚未启用的进程:nice -n # COMMAND
对于运行中的进程:renice # COMMAND
进程间通信(IPC)
进程间可以通过传递信号进行通信。
kill命令 : 用于实现向其他进程发送消息
-L:显示所有信号
描述 | |
---|---|
1)SIGHUB | 通知程序重读配置文件,而不重启程序 |
2)SIGINT | 中断信号,相当于Ctrol+c发送中断信号 |
9)SIGKILL | 杀死进程,不留余地 |
15)SIGTERM | 终止进程,留有余地 |
19)SIGSTOP | 将进程送往后台,相当于Ctrol+z |
18) SIGCONT | 将后台进程送往前台,相当于fg |
#传递信号给某个进程
kill -SIGNAL PID
SIGNAL没有指定时,默认为15)SIGTERM
1. 可以是数字1
2. 可以是SIGHUB
3. 可以是HUB
示例:
#1.开启top进程
top
#2.在用户所有进程下查找top
ps aux | grep top
#3.确定pid
pidof top
#4.终止进程
kill -15 pid
kill -9 pid
linux作业控制
前台作业:占据着一个终端
后台作业:作业执行时不占据终端,作业启动后就释放终端
非守护进程类的程序,启动以后都在前台工作
如果已经启动,例如vim a.txt
,Ctrol+z将编辑文件作业送入后台,作业停止。
如果尚未启动,COMMAND &
退出会话,作业也会终止,因为作业与当前终端相关;如果把作业送往后台后,不期望作业随终端结束而终止,则使用# nohup COMMAND
如何让送往后台的作业继续执行:
#%可以省略
#将作业调回前台继续执行
fg %JOB_NUM
#让作业在后台继续执行
bg %JOB_NUM
查看作业号:
jobs
[+]:代表fg / bg默认调用的作业
终止作业:
#%最好不省略
kill %JOB_NUM
终端类型
描述 | |
---|---|
虚拟终端 | /dev/tty# |
伪终端 | /dev/pts# |
串行终端 | /dev/ttyS# |
物理终端(控制台) | /dev/console |