免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2427 | 回复: 5
打印 上一主题 下一主题

[日期时间] 进程运行时间与系统时间比较问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-12-02 09:36 |只看该作者 |倒序浏览
请教:

通过获得进程A的运行或启动时间,再与当前系统时间进行比较,如超出30分钟,则结束进程A。
方案A
if 系统时间 - 启动时间 >30 then kill A

方案B
if 运行时间>30 then kill A

现在的难点是方案A 获得的时间假定为 08:17 当前的系统时间为09:30:25, 如何做这个时间运算?

方案B通过ps -eo pid,tty,user,comm,lstart,etime | grep A 查询不到记录

请大家指点,谢谢!

论坛徽章:
46
2015小元宵徽章
日期:2015-03-06 15:58:18羊年新春福章
日期:2015-04-14 10:37:422015年亚洲杯之阿曼
日期:2015-04-14 10:41:50NBA常规赛纪念章
日期:2015-05-04 22:32:03NBA季后赛大富翁
日期:2015-05-04 22:34:11菠菜明灯
日期:2015-05-04 22:35:49新奥尔良黄蜂
日期:2015-05-04 22:49:2315-16赛季CBA联赛之广夏
日期:2015-12-11 15:02:342015年亚洲杯之巴勒斯坦
日期:2015-03-04 19:56:562015年亚洲杯之阿联酋
日期:2015-03-04 11:19:04休斯顿火箭
日期:2015-03-02 16:32:11纽约尼克斯
日期:2015-03-02 16:09:04
2 [报告]
发表于 2014-12-02 09:47 |只看该作者
方案A 看看是否有能转成秒的命令吧
方案B 如果没有命令的话,我记得可以自己写一个C语言函数,用来获取进程状态,然后在shell脚本中通过system调用,不知道可行否,没试验过

论坛徽章:
6
羊年新春福章
日期:2015-03-03 17:16:28双子座
日期:2015-03-03 17:16:56巳蛇
日期:2015-03-03 17:17:2415-16赛季CBA联赛之福建
日期:2016-03-11 09:05:00黑曼巴
日期:2016-07-07 16:58:1215-16赛季CBA联赛之吉林
日期:2016-11-14 09:23:07
3 [报告]
发表于 2014-12-02 10:03 |只看该作者
用你方案B的命令先取得进程准确的启动时间,然后再查看下当前时间

date -d "time" +%s,将时间都转换成时间戳形式,用当前时间的时间戳减去进程启动时间的时间戳,再除以60就是分钟了,然后再if判断

论坛徽章:
0
4 [报告]
发表于 2014-12-02 10:11 |只看该作者
谢谢大家,方案B得不到返回记录,我研究一下大家的建议。

论坛徽章:
0
5 [报告]
发表于 2014-12-02 10:35 |只看该作者
谢谢大家,已经按方案A搞定了。

论坛徽章:
5
未羊
日期:2014-08-04 16:15:21天秤座
日期:2014-08-13 13:52:372015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:112015亚冠之浦和红钻
日期:2015-06-29 15:30:48
6 [报告]
发表于 2014-12-02 13:20 |只看该作者
  1. awk '$1>1800{system("kill xxoo")}' /proc/uptime
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP