Linux Shell Scripting Cookbook 读书笔记 7
ping, du, ps, kill, 收集系统信息
判断网络中哪些主机是活动主机
#!/bin/bash for ip in 10.215.70.{1..255}; do ( ping $ip -c2 &> /dev/null ; if [ $? -eq 0 ]; then echo $ip is alive fi )& # ()中为子shell,后面的&表示后台执行 done wait #等待所有进程执行完才退出
du -a dir
递归地输出指定目录或多个目录中所有文件的统计结果
-s表示只显示总计
找出大小为前十的文件
ps只显示你要的列
-o的参数用逗号相隔,且不能有空格
pcpu cpu占用率; pid 进程id;ppid 父进程id; pmem内存使用率; comm可执行文件名; cmd 简单命令; cuid有效的用户id
user 启动进程的用户; nice 优先级; time累计的cpu时间; etime进程启动后度过的时间; tty所关联的tty设备;stat 进程状态
--sort可以对特定的列排序,-表示降序,+表示升序
找到指定命令 的pid,加了pid=之后,会去除头部且只拿pid列
ps输出线程最多的10个进程
NLWP表示每个进程的线程数量,LWP是线程id
kill -l显示信号数和信号名称
常用的为SIGHUP 1 挂起检测; SIGINT 2 按下CTRL + C发送该信号; SIGKILL 9 强制杀死进程
SIGTERM 15 终止进程; SIGTSTP 20 按下CTRL + Z发送该信号
强行杀死进程 kill -s SIGKILL PROCESS_ID或者 kill -9 PROCESS_ID
killall -9 gedit 用于强行杀死进程
killall -9 -u sryan gedit
whatis 可以简短地了解一个命令
收集系统信息
CPU相关
内存
用/proc收集信息
/proc是一个位于内存中的伪文件系统,提供了从用户空间读取参数的接口