简短问题
几秒钟后终止下载命令
详细的
我有一个文件,其中每一行都有一个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 :(

最佳答案

您可以为此使用timeout命令:

date; timeout 3 sleep 10; date
2018年  2月 22日 木曜日 17:27:34 JST
2018年  2月 22日 木曜日 17:27:37 JST

如你所见,三秒钟后睡眠就停止了。
您可以定义必须发送到运行命令的信号,默认情况下将发送SIGTERM信号,并且接受不同的持续时间格式:10s1m,…

关于linux - 几秒钟后终止工作,然后进行循环下一步,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48922610/

10-09 08:33