Linux进程管理命令备忘

一.管道命令
1.cut
cut -d '分隔符' -f fields
eg:
cut -d ':' -f 5 把标准输入数据按照 : 来分割开,取出第5个字段
cut -d ':' -f 5-10 把标准输入数据按照 : 来分割开,取出第5个字段到第十个字段
cut -d ':' -f 5,10 把标准输入数据按照 : 来分割开,取出第5个字段和第10个字段
cut -c 字符范围
2.grep
grep 'root' 取出有root的行
grep -v 'root' 取出不含root的行
3.sort
sort 把条目从第一个字母开始按照asc码排序
-r 反向排序
-t 分隔符,默认以Tab键分割
-k 使用哪一个区间来排序
-n 使用纯数字来排序
-f 排序时候,忽略大小写
-b 排序时候,忽略最前面的空格部分
4.wc
wc 列出 字数,行数,字符数
-c 字符数
-l 行数
二.字符转换命令
1.tr
tr [-ds] SET1 ...
-d 删除信息中的SET1这个字符串
-s 替换掉重复的字符串
eg:
tr [a-z] [A-Z] 把所有的小写字母换成大写的
tr -d '\r' 删除掉信息中的DOS断行字符
2.col
col [-xb]
-x 将tab键换成对等的空格键
-b 在信息中有反斜杠(/),仅仅保留反斜杠后面接的那个字符
3.join
join [-ti12] file1 file2
-t join默认以空格符分割字段,也可以自己指定
-i 忽略大小写差异
-1 -2 表示第一个,第二个分别要用哪个字段来分析
4.paste
paste [-d] file1 file2 把两个文件对应行粘贴在一起
-d 默认以tab键分割
- 若file部分写成 - ,则表示 标准输入的数据
5.expand
expand [-t] file 将tab键转化为空格
-t 后面接数字,表示一个tab键转化为多少个空格
三.进程管理命令
1.jobs
jobs [-lsr]
-l 查看所有(被中断的和放在后台正在运行的)的后台进程
-s 查看中断的,放在后台的进程
2.fg 将后台程序拿到前台来执行
fg %jobnumber
eg:
fg 默认取出那个 + 的工作
fg %2 指定取出 jobnumber 为 2 的工作
3.bg 将后台中断的程序继续在后台运行
4.kill
kill -signal PID | %jobnumber
kill -l 小写字母 l ,列出目前kill能使用的信号(signal),不同的数字代表不同信号,代表接下来的工作以不同的工作方式进行
signal:
-1 HUP 重新读取一次参数的配置文件
-2 INT 代表与由键盘输入 crtl+c 同样的操作
-9 KILL 立刻强制删除一个工作
-15 TERM 以正常方式完成这个工作
-17 STOP 暂停一个进程(相当于ctrl+z)
eg:
kill -9 %2 强制删除一个 PID 编号为 2 的工作
注意: kill -9 通常是用在删除一个不正常的工作,而 kill -15 通常用来以正常步骤结束一个工作(15也是一个默认值)
5.ps 选取当前时间点的进程状况
ps aux 查看系统所有进程数据
ps -l 仅仅查看自己bash相关的进程
ps -axjf 查看进程树
如果在某个进程的CMD参数后面跟着 <default> ,该进程就是僵尸进程
6.pstree 以进程树的形式列出进程
pstree [-A|U] [-up]
-A 进程树之间以ASCII字符来连接
-U 进程树之间以utf-8字符来连接
-p 同时列出每个进程的PID
-u 列出user
7.top 动态查看进程变化
top [-d 数字] | top [-bnp]
-d 接秒数,默认5秒
-b 以批次的方式执行top,还有更多的参数可以使用
通常搭配数据流重定向来将批处理的结果输出成文件
-n 与 -b 搭配,表示需要进行几次 top 的输出结果
-p 指定某个 PID 来进行监测
在执行 top 的过程中,可以使用的按键命令
? 显示在top中可以输入的按键命令
P 以CPU使用的资源情况排序
M 以内存的使用情况排序
T 以CPU使用时间积累来排序
q 离开
r 重新给某个PID的 nice (进程优先级相关)设定一个值
k 重新给某个PID的 signal 设定一个值
eg:
当我们想遏制某个高消耗资源的时候,可以先使用P找出该资源的PID,在使用r修改nice值,降低它的优先级(设置一个大一点的数)
8.killall 以命令名称的方式(而非PID)来管理和杀死进程
killall [-iIe] [-signal] [command name]
eg:
killall -9 httpd 杀死所有以httpd启动的命令
killall -1 syslog
9.nice 和 renice
new PRI = old PRI + NI
1.nice 有正负,范围 -20 ~ 19
2.root 随意调整(-20 ~ 19)任意进程nice值,普通账号只能调整自己的,并且 (0~19)
3.普通账号对于nice只能往高调,比如原本nice=5,调的时候只能大于5
4.最终的 new PRI 还会受到 kernel 的动态调整
nice [-n 数字] command
eg:
nice -n -5 vi & root用户给一个新值 -5 ,用于执行 vi 并查看该线程
renice [数字] PID
常常配合 ps -l 一起使用
四.系统资源命令
1.free
free [-k | -m | -g] 查看内存状态,分别以 kb,mb,gb 显示
2.uname
uname -asrmpi
-a 列出所有系统相关的信息
-s 内核名称
-r 内核版本
-m 硬件名称
-p cpu类型
-i 硬件平台
3.uptime 系统启动时间和工作负载
4.netstat 跟踪网络
netstat [-atunlp]
-a 列出系统所有的连接,监听,Socket数据
-t tcp数据包的数据
-u udp
-l listen(监听)的服务
-n 以端口号来显示,不列出进程的服务名称
-p 列出进程的PID
eg:
netstat -tlnp 找出目前系统上正在监听的网络连接及其PID
5.dmesg 分析内核产生的信息
dmesg 读出存储在内存的保护区段中的内核产生的信息,该保护区段记录着内核从开机检测到系统运行的产生的所有信息
由于信息太多,常常使用 dmesg | more 快速查看
6.vmstat 检测系统资源变化
vmstat [-a] [延迟 [总计检测次数]] cpu/内存等信息
vmstat [-fs] 内存相关
vmstat [-s 单位] 设置显示数据的单位
vmstat [-d] 磁盘相关
vmstat [-p 分区] 磁盘相关
-a 使用inactive/active(活跃与否)替代buffer/cache的内存输出信息
-f 开机到目前为止的系统复制的进程数
-d 列出磁盘读写总量统计表
-p 后面列处分区,可以显示该分区的读写总量统计表
-s 将一些事件(开机到目前为止)导致的内存变化情况列表说明
eg:
vmstat 1 3 统计目前 cpu 状态,每秒一次,共计3次
vmstat -d 系统上面所有的磁盘读写状态

猜你喜欢

转载自www.cnblogs.com/zeroisbug/p/8983701.html