设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
注册
快捷导航
平台
Portal
论坛
BBS
文库
项目
群组
Group
我的博客
Space
搜索
搜索
热搜:
shell
linux
mysql
本版
用户
LinuxSir.cn,穿越时空的Linuxsir!
»
论坛
›
Linux 综合讨论区 —— LinuxSir.cn
›
shell进阶应用、shell编程
›
如何实现系统空闲(idle)大于某个值(比如98%),就会自 ...
1
2
3
/ 3 页
下一页
返回列表
查看:
1839
|
回复:
22
如何实现系统空闲(idle)大于某个值(比如98%),就会自动启动某个程序?
[复制链接]
zhf6440
zhf6440
当前离线
积分
32
IP卡
狗仔卡
发表于 2004-6-17 14:40:18
|
显示全部楼层
|
阅读模式
希望大大们指教~~~
谢谢
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
显身卡
KornLee
KornLee
当前离线
积分
6960
IP卡
狗仔卡
发表于 2004-6-17 14:52:19
|
显示全部楼层
用top -n1|awk '/idle/{print $11}'来求出idle当前的百分比,存入一个变量,
然后用这个变量跟某个值去比较,就OK啦.top的次数可以自己指定
回复
支持
反对
使用道具
举报
显身卡
zhf6440
zhf6440
当前离线
积分
32
IP卡
狗仔卡
楼主
|
发表于 2004-6-17 15:02:03
|
显示全部楼层
非常感谢javalee,但是因为我对编程了解甚少,能帮我完整具体的写一下吗?
比如每隔某个时间,就会去比较一下idle的值,如果大于某个值(比如98%),就会自动启动某个程序。
再次感谢~~~
回复
支持
反对
使用道具
举报
显身卡
KornLee
KornLee
当前离线
积分
6960
IP卡
狗仔卡
发表于 2004-6-17 15:19:08
|
显示全部楼层
大致是这样的结构:
a=$(top -n1|awk '/idle/{print $11}'|tr -d %) #top一次,取idle的值
if [[ $a -gt 98 ]];then #如果这个值大于98,则启动command
command #启动命令
fi
复制代码
top的输出要根据自己的系统的输出格式而定!对shell不了解的话,
请浏览置顶区的入门文章 :thank
回复
支持
反对
使用道具
举报
显身卡
dearvoid
dearvoid
当前离线
积分
282
IP卡
狗仔卡
发表于 2004-6-17 18:27:07
|
显示全部楼层
一直不清楚 idle 的具体含义
如果基于 system load 来控制的话, 可以用 atd 和 batch 来实现
回复
支持
反对
使用道具
举报
显身卡
zhf6440
zhf6440
当前离线
积分
32
IP卡
狗仔卡
楼主
|
发表于 2004-6-18 09:41:20
|
显示全部楼层
各位大大能帮我写个具体完整的吗?我的操作系统是red hat as2版本,想实现每隔1分钟,就能自动比较系统的idle值,如果大于99%,就自动启动 ./start 这个程序。
先谢谢了~~~
回复
支持
反对
使用道具
举报
显身卡
KornLee
KornLee
当前离线
积分
6960
IP卡
狗仔卡
发表于 2004-6-18 10:36:41
|
显示全部楼层
我上面的写的供参考,至于你说的想实现每隔1分钟,可以用crontab来作
crontab的用法见:
http://www.linuxsir.cn/forum.php?mod=viewthread&tid=5115
回复
支持
反对
使用道具
举报
显身卡
zhf6440
zhf6440
当前离线
积分
32
IP卡
狗仔卡
楼主
|
发表于 2004-6-27 01:39:37
|
显示全部楼层
javalee,我按照你上面写的vi了一个程序,但是出现了
unexpected end of file
的错误。
希望能够得到你的指教。
回复
支持
反对
使用道具
举报
显身卡
KornLee
KornLee
当前离线
积分
6960
IP卡
狗仔卡
发表于 2004-6-27 02:15:01
|
显示全部楼层
指教谈不上!把你的系统,环境,说清楚些,另外,贴出你的脚本文件,这样便于查找问题所在!
回复
支持
反对
使用道具
举报
显身卡
zhf6440
zhf6440
当前离线
积分
32
IP卡
狗仔卡
楼主
|
发表于 2004-6-27 02:22:37
|
显示全部楼层
安装的是redhat9.0,程序如下
#!/bin/sh
a=$(top -n1|awk '/idle/{print $11}'|tr -d %) #top一次,取idle的值
if [[ $a -gt 98 ]];then #如果这个值大于98,则启动command
/usr/local/c145/start #启动命令
fi
另外,单独运行/usr/local/c145/start 正常
回复
支持
反对
使用道具
举报
显身卡
下一页 »
1
2
3
/ 3 页
下一页
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
Linux 基础讨论区(新手速成)
Linux 输入开发与研究
LFS(LinuxfromScratch)
SuSE Linux
Mandriva Linux
BSD 讨论专题
Linux 程序设计专题讨论
Gentoo Linux
硬件设备 Linux 驱动
Ubuntu Linux 专题讨论
Copyright © 2002-2023
LinuxSir.cn
(http://www.linuxsir.cn/) 版权所有 All Rights Reserved.
Powered by
RedflagLinux!
技术支持:
中科红旗
|
京ICP备19024520号
快速回复
返回顶部
返回列表