zoukankan      html  css  js  c++  java
  • shell编程(2)

    杨乾成 

    一、1到1000的平方和

    这道题比较简单,就不加赘述了。代码如下:

    1 #!/bin/bash
    2 i=1
    3 count=0 
    4 while [ $i -le 1000 ]
    5 do
    6     let count+=i*i
    7     let i++
    8 done
    9 echo "1到1000的平方和是$count"

    运行结果如下:

    二、杀死进程

    题目:创建一个SHELL程序,若当前shell的任意子进程的内存(或CUP)占用率超过50%,则将其杀死。

    首先,使用下面的代码查看当前进程的ID:

    ppid=`echo $$`

    然后将当前内存或者CPU使用率大于50%的,输出到文件pid1

    top -bn 1|grep "^*[1-9]"|awk '{if($9>50||$10>50) print $1}'>>pid1

    然后查看当前shell进程的子进程id,输入到文件pid2

    ps axo ppid,pid|awk '{if($ppid==$1) print $2}'>>pid2

    然后比较两个文件中id相同的,就是要找的进程:

    for id in `grep -wf pid1 pid2`
    do
         kill $id
    done

     

    三、补充作业

    题目:扫描局域网内的IP地址,分别将与当前主机连通的IP和非连通的IP放入文件connected.txt和disconnected.txt中。 这道题也比较简单,直接上代码:

    #!/bin/bash
    for ip in {1..254}
    do
        ping -c 2 -i 0.3 -w 1 10.131.147.$ip &>/dev/null
        if [ $? -eq 0 ]
        then
            echo "10.131.147.$ip" >>connected.txt
        else
            echo "10.131.147.$ip" >>disconnected.txt
        fi
    done
  • 相关阅读:
    HelpersRainCaptcha
    HelpersPHPMailer
    HelpersPassword
    HelpersPagination
    HelpersNumber
    HelpersHooks
    HelpersGeoCode
    HelpersFastCache
    HelpersDocument
    eclipse 设置jsp页面为HTML5
  • 原文地址:https://www.cnblogs.com/blogMorningStar/p/11980195.html
Copyright © 2011-2022 走看看