當我們想讓一個定時的crontab任務運行運行一段時間后,自動終止? 有兩種方案:
一、啟動一個進程任務,然后在啟動一個殺死進程任務
二、使用linux中的timeout命令
示例:執行crontab -e 進入定時任務,添加如下命令
30 9 * * * timeout -s SIGKILL 12h /home/pirate/programs/hadoop/bin/hdfs balancer -threshold 10 > ~/balancer-stdout.log 2>~/balancer-stderr.log & 32 9 * * * /home/pirate/programs/hadoop/bin/hdfs dfsadmin -setBalancerBandwidth 304857600
參考: