简短问题
几秒后终止下载命令
详细
我有一个文件,其中每一行都有一个cron作业,如果我逐行解析它,那么我将能够手动运行它。
有点像这样
job1
job2
job3
我想交叉检查我是否能够运行所有这些工作,所以我写了一个shell脚本,并且我能够运行每个命令。 但主要问题是如果成功命令我无法终止并转移到下一行,我需要等待该工作完成
到目前为止我尝试了什么
方法1:
eval job1& sleep 3 ; kill -9 `ps -ef | grep "my process" | awk '{print $2}'`
方法2:
eval job1& sleep 3 ; kill $! // not able to do this :(
答案 0 :(得分:2)
您可以使用timeout
命令实现此目的:
date; timeout 3 sleep 10; date
2018年 2月 22日 木曜日 17:27:34 JST
2018年 2月 22日 木曜日 17:27:37 JST
正如您所见,3秒后睡眠停止了。
您可以定义必须将哪个信号发送到正在运行的命令,默认情况下会发送SIGTERM
信号,并接受不同的持续时间格式:10s
,1m
,. ..