循环访问所有数组成员

索洛萨

我最近一直在玩脚本..在@Cas的帮助下写了这个

#!/bin/bash


## Variables ##

host="`/bin/hostname`";


    ## Limits ##

OneMin="1";
FiveMin="6";
FifteenMin="6";

    ## Mail IDs ##

To="[email protected], [email protected]";
Fr="root@"$host;


    ## Load Averages ##

LA=(`uptime | grep -Eo '[0-9]+\.[0-9]+' | cut -d"." -f1`)


    ## Top Process List ##

tp=(`ps -ef | sort -nrk 3,3 | grep -E "(php|httpd)" | grep -v root | head -n30 | awk '{print $2}'`)


## Actions ##

if [ ${LA[0]} -ge $OneMin ]; then


    ## Send Mail ##

echo -e "From: $Fr
To: $To
Subject: *ALERT* - Current Load on '$host' Is High
Load Averages Are:  \n\n
1:Min\t5:Min\t15:Min   \n
${LA[0]}\t${LA[1]}\t${LA[2]}  \n\n

List Of Processes That Were Killed \n" | sendmail -t


    ## Kill Top Pocesses ##


for i in $tp ; do
    kill -9 $i
done



fi

我不确定该数组是否有效,尤其是最后一部分,我在其中添加了一个循环以杀死顶级进程。.因为它不打印该电子邮件中的进程列表。我不知道为什么。但是脚本不会给出任何错误。

OK ##替代方法##

顺便说一句,这行得通吗?

#!/bin/bash


## Variables ##

host="`/bin/hostname`";


    ## Limits ##

OneMin="7";
FiveMin="6";
FifteenMin="6";


    ## Load Averages ##

LA=(`uptime | grep -Eo '[0-9]+\.[0-9]+' | cut -d"." -f1`)



## Actions ##


    ## One Minut Action ##

if [ ${LA[0]} -ge $OneMin ]; then


    ## Send Mail ##

echo -e "From: $Fr
To: $To
Subject: *ALERT* - Current Load on '$host' Is High
Load Averages Are:  \n\n
1:Min\t5:Min\t15:Min   \n
${LA[0]}\t${LA[1]}\t${LA[2]}  \n\n

List Of Processes That Were Killed \n
`ps -ef | sort -nrk 3,3 | grep -E "(php|httpd)" | grep -v root | head -n30 | awk '{print $2}'`" | sendmail -t


    ## Kill Top Pocesses ##


for i in `ps -ef | sort -nrk 3,3 | grep -E "(php|httpd)" | grep -v root | head -n30 | awk '{print $2}'` ; do
    kill -9 $i
done


fi

我的意思是这会杀死所有的PiD吗?

豪克

问题在于,它tp=(...定义了一个数组,但仅$tp引用该数组的第一个元素。

你需要

for i in "${tp[@]}" ; do

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在所有数组成员上调用对象成员函数

来自分类Dev

返回具有数组成员的本地结构

来自分类Dev

如何将私有数据与公共数组成员相关联?

来自分类Dev

声明一个静态私有数组成员

来自分类Dev

具有数组成员变量的C ++类构造函数

来自分类Dev

我如何将私有数据与公共数组成员相关联?

来自分类Dev

如何将内存分配给具有数组成员的类实例?

来自分类Dev

Javascript,数组成员的所有可能和(最多4个)

来自分类Dev

Swift:访问数组中的元组成员

来自分类Dev

在C中访问灵活数组成员

来自分类Dev

Swift:访问数组中的元组成员

来自分类Dev

灵活的数组成员,以访问联合原始字节

来自分类Dev

列出指定组成员中的所有组

来自分类Dev

获取OU包含的所有组成员

来自分类Dev

DirectorySearcher不会返回所有AD组成员

来自分类Dev

没有初始化的C ++数组成员

来自分类Dev

类具有带动态数组成员的类

来自分类Dev

类具有带动态数组成员的类

来自分类Dev

具有弹性char数组成员的结构

来自分类Dev

具有静态数组成员变量的迭代器

来自分类Dev

使用Qt 5.3写入以前存在的json文件(带有对象数组,每个对象带有数组成员)

来自分类Dev

Arduino类数组成员

来自分类Dev

C#数组成员

来自分类Dev

使用指针到达数组成员

来自分类Dev

Arduino类数组成员

来自分类Dev

OR 子句或数组成员检查

来自分类Dev

屏蔽数组成员的位

来自分类Dev

UPPAAL:检查数组成员

来自分类Dev

设置子目录(rx)的全局可浏览权限,但使所有者和组成员以外的所有人都无法访问文件