- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
使用Shell脚本Linux系统和进程资源进行监控
使用Shell脚本对Linux系统和进程资源进行监控
发表于2012-06-26 08:58| 6963次阅读| 来源IBM开发者社区| 1 条评论| 作者于东海,宋波,池辰
ShellLinux脚本
摘要:Shell语言对于接触Linux的人来说都比较熟悉,它是系统的用户界面,提供了用户与内核进行交互操作的一种接口。本文我们以Bash做为实例总结了使用Shell对系统和进程资源进行监控的一些内容,希望对您能有帮助。
Shell语言对于接触Linux的人来说都比较熟悉,它是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。它没有一般编程语言的“编译 - 链接 - 运行”过程。不仅如此,Shell有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序。Shell编程语言具有普通编程语言的很多特点,比如它也有循环结构和分支控制结构等,用这种编程语言编写的Shell程序与其他应用程序具有同样的效果。当然,Shell功能也是很强大的。Shell有多种类型,其中最常用的几种是Bourne shell(sh)、C shell(csh)和 Korn shell(ksh)三种。shell各有优缺点,Linux操作系统缺省的shell一般是Bourne Again shell,它是Bourne shell的扩展,简称Bash。Bash的命令语法是Bourne shell命令语法的超集,并且在Bourne shell的基础上增加、增强了很多特性。在这里,我们以Bash做为实例总结了使用Shell对系统和进程资源进行监控的一些内容,希望对您能有帮助。
检查进程是否存在
在对进程进行监控时,我们一般需要得到该进程的ID,进程ID是进程的唯一标识,但是有时可能在服务器上不同用户下运行着多个相同进程名的进程,下面的函数GetPID给出了获取指定用户下指定进程名的进程ID功能(目前只考虑这个用户下启动一个此进程名的进程),它有两个参数为用户名和进程名,它首先使用ps查找进程信息,同时通过grep过滤出需要的进程,最后通过sed和awk查找需要进程的ID值(此函数可根据实际情况修改,比如需要过滤其它信息等)。
清单1.对进程进行监控
function GetPID #User #Name
{
PsUser=$1
PsName=$2
pid=`ps -u $PsUser|grep $PsName|grep -v grep|grep -v vi|grep -v dbx\n
|grep -v tail|grep -v start|grep -v stop |sed -n 1p |awk {print $1}`
echo $pid
}
示例演示:
1)源程序(例如查找用户为root,进程名为CFTestApp的进程 ID)
PID=`GetPID root CFTestApp`
echo $PID
2)结果输出
11426
[dyu@xilinuxbldsrv shell]$
3)结果分析
从上面的输出可见:11426为root用户下的CFTestApp程序的进程ID。
4)命令介绍
1.ps:查看系统中瞬间进程信息。
参数:-u用户识别码列出属于该用户的程序的状况,也可使用用户名称来指定。
-p进程识别码指定进程识别码,并列出该进程的状况。
-o指定输出格式
2.grep:用于查找文件中符合字符串的当前行。
参数:-v反向选择,亦即显示出没有‘搜寻字符串’内容的那一行。
3.sed:一个非交互性文本编辑器,它编辑文件或标准输入导出的文件,一次只能处理一行内容。
参数:-n读取下一个输入行,用下一个命令处理新的行而不是用第一个命令。
p标志打印匹配行
4.awk:一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入、一个或多个文件,或其它命令的输出。它支持用户自
定义函数和动态正则表达式等先进功能,是linux/unix下的一个强大编程工具。它在命令行中使用,但更多是作为脚本来使用。awk的处理文本和数据的方式:它逐行扫描文件,从第一行到最后一行,寻找匹配的特定模式的行,并在这些行上进行你想要的操作。如果没有指定处理动作,则把匹配的行显示到标准输出(屏幕),如果没有指定模式,则所有被操作所指定的行都被处理。
参数:-F fs or –field-separator fs:指定输入文件折分隔符,fs是一个字符串或者是一个正则表达式,如-F:。
有时有可能进程没有启动,下面的功能是检查进程ID是否存在,如果此进程
您可能关注的文档
最近下载
- 水污染控制工程(第4版)全套PPT课件.pptx
- 2025年,跨境电商数据合规性风险评估与合规体系建设指南报告.docx
- (2025秋新版)部编版二年级语文上册《 语文园地二》PPT课件.pptx VIP
- 2024年社会工作者中级《社会工作实务》真题及答案解析.pdf VIP
- JGT 366-2012-外墙保温用锚栓.pdf
- 基坑坍塌事故专项应急预案桌面演练脚本.docx VIP
- 小学阶段需要掌握的文学常识.docx VIP
- 课件mike新11hd so nam模型培训教程.pdf
- 《控制工程基础》教案.docx VIP
- Q∕GDW 11021-2013 变电站调控数据交互规范.docx VIP
文档评论(0)