免费注册 查看新帖 |

Chinaunix

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

shell脚本中如何杀里面某一个语句的进程? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-10-28 09:10 |只看该作者 |倒序浏览
在一个shell脚本中有一个语句的执行时间不能确定,而我去希望在规定的时间内完成,如果不能完成就杀死这个进程,就是杀死那个语句的进程,不知道这种情况如何处理?

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
2 [报告]
发表于 2003-10-28 09:25 |只看该作者

shell脚本中如何杀里面某一个语句的进程?

问题比较特殊,说具体点!

论坛徽章:
0
3 [报告]
发表于 2003-10-28 11:11 |只看该作者

shell脚本中如何杀里面某一个语句的进程?

我想确定磁带中的某一块是否是指定的内容,这个块很小,用tar tvf /dev/nst0可以很快的得到结果,但是有可能这个块不是我写入的那个,那么这个块就可能会相当大,因此tar tvf /dev/nst0就可能花费很长的时间,因此我想如果tar tvf /dev/nst0花费的时间很长就说明这个块不是我指定的,因此想杀死这个进程,从而接着进行脚本中的下一个语句。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
4 [报告]
发表于 2003-10-28 11:51 |只看该作者

shell脚本中如何杀里面某一个语句的进程?

  1. tar tvf /dev/nst0|sed -n "/$1/p"|awk 'length($0)>0{printf"sleep '"$2'";kill -9 `ps -ef|grep "tar tvf /dev/nst0"|grep -v grep|cut -c15-20`"}'|sh
复制代码

未测试!

论坛徽章:
0
5 [报告]
发表于 2003-10-28 14:29 |只看该作者

shell脚本中如何杀里面某一个语句的进程?

用管道,好像还是先执行完第一个命令才会执行后面的,这样那个kill指令还是在第一个指令完了后才会执行

论坛徽章:
0
6 [报告]
发表于 2003-10-28 14:40 |只看该作者

shell脚本中如何杀里面某一个语句的进程?

要不然先后台挂一个程序,然后tar。。。,后台程序sleep一定时间后,再kill这个指令?

论坛徽章:
0
7 [报告]
发表于 2003-10-28 16:00 |只看该作者

shell脚本中如何杀里面某一个语句的进程?

我还是在前面用了一个nohup来等待一定时间后杀死那个进程了,谢谢版主

论坛徽章:
0
8 [报告]
发表于 2003-10-28 18:02 |只看该作者

shell脚本中如何杀里面某一个语句的进程?

tar tvf /dev/nst0 &
THIS_PID=$!
sleep 8
kill -9 $THIS_PID
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP