Shell脚本编程进阶

本文介绍了五个高级Shell脚本编程实例,包括通过进程PID获取CPU和内存指标、定时检查主机端口状态、验证文件是否为可执行脚本、控制用户登录权限以及计算passwd文件中特定用户ID之和。

1、编写脚本实现传入进程pid,查看对应进程/proc下CPU、内存指标

#!/bin/bash
read -p "Please input PID to see CPU&MEM infos: " pid
checkpid=`ps aux | sed -nr "1! p" | tr -s " " | cut -d " " -f 2 | grep "$pid"`
if [ ! $checkpid ];then
        echo "$pid" 'does not exit! Please Check and input a exit PID.'
else
        echo "Memory Usage :"
        echo "`cat /proc/$pid/status | grep ^Vm`"
        echo "Cpu Usage :"
        echo "`cat /proc/$pid/status | grep ^Cpu`"
        echo "Right Now %CPU is`ps -p $pid -o pcpu | sed -nr "2p"`"
fi

2、编写脚本实现每分钟检查一个主机端口是否存活(提示使用 nmap),如果检查到端口不在线, sleep 10s,如果三次都不存在,记录到日志

#!/bin/bash
ip=119.6.6.6
port=80                                                                                       
for ((i=1;i<=3;i++));do
        nmap -p $port $ip | tail -n3 | head -n1 | grep -o open &> /dev/null
        test=$(echo $?)
        if [ "$test" -gt 0 ];then
         
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值