是否有任何bash/linux命令来启动长时间运行的命令,然后在n分钟后终止它?我想我可以用fork和kill来破解perl的东西,但是有人知道已经有东西在外面吗?bash:运行一个命令n分钟,然后SIGHUP它
回答
现在在大多数GNU/Linux发行版中查看timeout命令。
timeout -sHUP 10m command
试试这个,它在后台启动你的命令,将它的PID存储在$ P中,等待一段时间并用SIGHUP
杀死它。
yourCommand & PID=$!
sleep ${someMinutes}m
kill -HUP $PID
干杯
PS:即假定知道牛米(分钟)睡眠,否则,你可能想要做一些数学:)
+1和'$睡眠来实现((*分钟60))':) – khachik 2010-12-12 20:54:43
khachik,这是锻炼的受过教育的读者;) – 2010-12-12 20:55:22
谢谢!这实际上就是我刚刚写的perl,但很高兴看到它只是一个shell的成语。我仍然喜欢预先建立的脚本,如果有人知道它,但我会接受这个答案。 – 2010-12-12 20:59:21
n=5
some_command &
pid=$!
at now + $n minutes <<<"kill -HUP $pid"
在使用at
的好处等待sleep
是您的脚本不会阻止等待睡眠过期。你可以去做其他事情,at
将在指定的时间异步激发。根据您的脚本,这可能是一个非常重要的功能。
我给这个+1作为异步功能,虽然阻塞是我的想法。 – 2010-12-12 21:05:30
- 1. 运行bash命令
- 2. 运行JavaScript命令每隔X分钟
- 3. Bash /打开一个命令运行的命令作为参数
- 4. 在x分钟再做一次事情,然后每隔n分钟做一次
- 5. AutoIt:完成前一个命令后运行下一个命令
- 6. 自动运行metasploit然后meterpreter命令
- 7. 从Python运行命令,然后关闭
- 8. 如何让cron每分钟运行一次“N”分钟,其中n%5 == 1?
- 9. Bash命令echo不运行
- 10. 从bash脚本运行几个命令
- 11. bash别名 - 运行两个命令
- 12. 重复bash命令n秒
- 13. &bash命令后
- 14. 运行n秒后延迟运行一次。 (2分钟的问题)
- 15. 的bash写一个循环来运行一个命令
- 16. 如何在另一个命令运行的某个时间后运行命令?
- 17. 运行python文件后,运行在bash中的Vim命令
- 18. bash脚本运行5分钟
- 19. 显示文本,然后让它在一分钟后消失
- 20. 使用bash读取一个文件,然后从单词执行命令提取
- 21. 如何运行一个用于在bash命令行根上环
- 22. 运行一个循环,然后重置并再次运行它
- 23. 在bash中的每个命令之后执行命令
- 24. 执行一个插入,然后登录一个SQL命令
- 25. 如何运行命令行(bash)的
- 26. 命令告诉当你在bash中运行最后执行的命令时?
- 27. 第一个命令...然后是
- 28. Python模块pexpect - 如何连接到SSH服务器,然后运行bash命令
- 29. JS 2分钟倒计时,然后执行一个函数?
- 30. 从命令行执行一个bash脚本,它需要一个空格参数
这正是我一直在寻找的! – 2010-12-15 17:12:28