一、进程管理
kill
语法结构:kill +信号 pid
-1 : HUP 重新加载进程或者重新加载配置文件
systemctl restart (重启服务)
-9 :KILL 强制杀死
-15 :TERM 正常杀死(这个信号可以默认不写)
-18 :CONT 激活进程
-19 :STOP 挂起进程
pkill -9 +进程的名字 (干掉与之相关的所有进程)
pkill -9 -t 终端 名称 (不加-9只杀死在终端运行的进程,加-9连终端本身一起干掉)
kill -9 +pid 9 (干掉某一个进程)
pkill -u 用户名 (干掉用户进程)
killall -9 进程名称 (杀死与之相关进程的所有)
-19 例子:
杀死终端例子:
发现被入侵:
二、重定向
概念: FD,文件描述符。负责进程管理打开的文件
$$ :当前终端的PID
tty :查看当前终端
文件描述符:
0 :标准输入
1 :标准正确输出
2 :标准错误输出
应用场景:
1、shell脚本
2、把来自命令的输出写入到文件
> :覆盖
>> :追加
< :输入/导入
& :既能承接标准正确输出,又能承接标准错误输出(混合输出)
例子:
在脚本中是用重定向例子:
主机存活检测 (ping)
ping -c
-c :ping的次数
$? :上一次命令的返回值
-eq :等于
例子:
三、管道
作用:实现进程间通信的手段之一
好处:Linux的程序小,功能单一,效率高,但是无法完成很复杂的任务,就需要借助管道将多个进程组合起来。
1、排序 sort :对字段排序
语法结构:sort -n
-n :按数值排序
sort -r
-r : 从大到小排序(默认从小到大)
sort -k
-k : 指定按照哪一列排序
2、去重 uniq (默认去重连续在一起的)
先进行排序再去重:
语法结构:uniq -c (去重后统计)
-c :统计
3、统计 wc
wc -l :统计行数
案例:统计当前系统一共有多少个用户
4、切片 awk
例子:
F :指定字段分隔符,默认以空格或者tab分隔
$数字 :表示第几个字段
$NF :表示最后一个字段
$(NF-1):表示倒数第二个字段
NR==2 第二行
晚上练习题
1、[root@localhost ~]# ps aux
2、[root@localhost ~]# ps aux |awk '{print $8}'
3、[root@localhost ~]# ps aux |awk '{print $8}' | uniq -c
4、[root@localhost ~]# ps aux |awk '{print $8}' | uniq -c | sort -rn
5、[root@localhost ~]# ps aux |awk '{print $8}' | uniq -c | sort -rn | head -3
13 S<
9 S<
7 S<