是否有任何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. 你會如何運行「看」命令「一分鐘」,然後退出?
- 2. Echo命令,然後運行它? (like make)
- 3. 在shell的後臺運行進程2分鐘,然後在2分鐘之前終止它BASH
- 4. 通過ssh執行命令,然後運行bash
- 5. 運行bash命令
- 6. 如何選擇N行然後命令它們?
- 7. Bash:搜索一個命令塊的腳本,然後執行這些命令
- 8. 運行JavaScript命令每隔X分鐘
- 9. 使用bash歷史來獲得先前的命令,複製它,然後'運行'它,但命令註釋
- 10. 只運行多個內聯命令的第一個Bash命令
- 11. Vim:運行`n`行命令
- 12. 運行命令A,然後命令B在命令
- 13. Bash /打開一個命令運行的命令作爲參數
- 14. ,對於每一個後續命令運行創造bash腳本
- 15. 在x分鐘再做一次事情,然後每隔n分鐘做一次
- 16. AutoIt:完成前一個命令後運行下一個命令
- 17. 如何ssh然後運行命令?
- 18. 從Python運行命令,然後關閉
- 19. 自動運行metasploit然後meterpreter命令
- 20. 如何讓cron每分鐘運行一次「N」分鐘,其中n%5 == 1?
- 21. Bash命令echo不運行
- 22. 運行bash命令從PHP
- 23. 在「bash XXX.sh」命令中運行一個包含變量的bash
- 24. bash命令來匹配n行
- 25. bash別名 - 運行兩個命令
- 26. 從bash腳本運行幾個命令
- 27. Bash-同時運行多個命令
- 28. 重複bash命令n秒
- 29. 運行n秒後延遲運行一次。 (2分鐘的問題)
- 30. &bash命令後
這正是我一直在尋找的! – 2010-12-15 17:12:28