设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
注册
快捷导航
平台
Portal
论坛
BBS
文库
项目
群组
Group
我的博客
Space
搜索
搜索
热搜:
shell
linux
mysql
本版
用户
LinuxSir.cn,穿越时空的Linuxsir!
»
论坛
›
Linux 综合讨论区 —— LinuxSir.cn
›
shell进阶应用、shell编程
›
记录日志 ?
返回列表
查看:
789
|
回复:
8
记录日志 ?
[复制链接]
shell
shell
当前离线
积分
533
IP卡
狗仔卡
发表于 2004-6-30 19:22:47
|
显示全部楼层
|
阅读模式
我想将应用程序的启动,过程,进程数,进程名字,关闭,时间等自己写成日志,如何使用sh来进行这一方法
如个简单的,先不理xmms有没日志,记录日志如下
我启动xmms的时间,持续多久,进程,最大使用cpu多少,内存多少
关闭时间
能不能用sh写这样的脚本,是不是为难大家了 ? 我被日志烦死了
老觉得linux对服务的日志特别好,对应用程序日志概念一点都不理解 ?
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
显身卡
KornLee
KornLee
当前离线
积分
6960
IP卡
狗仔卡
发表于 2004-6-30 20:44:40
|
显示全部楼层
用ps,top等命令
回复
支持
反对
使用道具
举报
显身卡
shell
shell
当前离线
积分
533
IP卡
狗仔卡
楼主
|
发表于 2004-6-30 21:00:29
|
显示全部楼层
如何将这些出来的资料统计结合起来 ?
回复
支持
反对
使用道具
举报
显身卡
KornLee
KornLee
当前离线
积分
6960
IP卡
狗仔卡
发表于 2004-6-30 21:29:18
|
显示全部楼层
那就需要你掌握grep+sed+awk+shell+more command啦 ;)
看一看置顶的精华和入门教程,会让你学到很多有用的知识!
比如用awk输出xfs进程的详悉信息
/home/lee #top -n1|awk '/PID/;/xfs/'
PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME CPU COMMAND
952 xfs 16 0 13680 11M 572 S 0.0 4.7 0:21 0 xfs
复制代码
这样的 话,你就可以找到你需要的信息,然后在过滤处理
回复
支持
反对
使用道具
举报
显身卡
shell
shell
当前离线
积分
533
IP卡
狗仔卡
楼主
|
发表于 2004-7-1 01:03:32
|
显示全部楼层
你可以写个简单的例子给我参考一下吗?我没学过sh
比如xfs的记录,如何记录它开启并关闭的时间和进程到某个文件里去 ?
希望你可以帮到我,谢谢
回复
支持
反对
使用道具
举报
显身卡
KornLee
KornLee
当前离线
积分
6960
IP卡
狗仔卡
发表于 2004-7-1 02:10:56
|
显示全部楼层
举个简单的例子吧
现在有这么一个进程sleep
/home/lee/test #ps -e|grep sleep
4580 pts/1 00:00:00 sleep
复制代码
这是他的详悉信息:
/home/lee/test #ps -aux|grep sleep
lee 4580 0.0 0.2 4720 520 pts/1 S 02:03 0:00 sleep 4000
复制代码
现在要取他的PID和START到文件log:
/home/lee/test #ps -aux|awk '/^USER/;/sleep/'|grep -v awk|awk '{print $11,$2,$9 >"log"}'
复制代码
看log文件里有了什么?
/home/lee/test #cat log
COMMAND PID START
sleep 4580 02:03
#进程名 进程号 启动时间
复制代码
P.S:这只不过是个举例,理解了这些命令的用法和用意,自然对你有帮助!如果
不是很理解的话,还是那句话--先看入门的教程和论坛的精华贴
回复
支持
反对
使用道具
举报
显身卡
shell
shell
当前离线
积分
533
IP卡
狗仔卡
楼主
|
发表于 2004-7-1 03:14:02
|
显示全部楼层
真的谢谢你,还有一个问题是如何知道进程启动或是结束的时间 ?
麻烦你,非常感谢你
回复
支持
反对
使用道具
举报
显身卡
KornLee
KornLee
当前离线
积分
6960
IP卡
狗仔卡
发表于 2004-7-1 03:51:21
|
显示全部楼层
上述方法可以取得进程启动时间,这里就不说了
而进程结束时间,可以写个脚本放在后台执行,设计成每秒监测一下某个进程是否存在,如存在则sleep,否则,退出循环并把时间取出,这个时间就应该是这个进程退出的时间,相差也就1秒吧,要看你sleep N的这个N的值!比如:脚本大致如下:
while true;do
if ps -e|grep -q 进程名;then
sleep 1
else
endtime=$(date +%T);break
fi
done
echo "结束时间:$endtime"
复制代码
这些基础的shell知识,还是多看看置顶的教程和精华贴吧!
回复
支持
反对
使用道具
举报
显身卡
yongjian
yongjian
当前离线
积分
2576
IP卡
狗仔卡
发表于 2004-7-1 04:26:42
|
显示全部楼层
嗯。如果想再精确点,shell还有usleep,百万分之一秒。
回复
支持
反对
使用道具
举报
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
Redhat/Fedora/CentOS Linux
LinuxSir 论坛管理
Ubuntu Linux 专题讨论
Slackware Linux
硬件设备 Linux 驱动
BSD 讨论专题
Linux 基础讨论区(新手速成)
SuSE Linux
Copyright © 2002-2023
LinuxSir.cn
(http://www.linuxsir.cn/) 版权所有 All Rights Reserved.
Powered by
RedflagLinux!
技术支持:
中科红旗
|
京ICP备19024520号
快速回复
返回顶部
返回列表