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 系统上面所有的磁盘读写状态 |

浙公网安备 33010602011771号