shell 中給命令設置超時時間

shell 中給命令設置超時時間

在咱們寫 shell 腳本的時候,有時候想給一個命令設置一個超時時間,當命令執行了多長時間尚未執行完就強制終止;咱們能夠採用以下方式shell

timeout 3 sleep 30

當 sleep 執行 3 秒的時候就會終止。bash

timeout 指令介紹ide

運行指定的命令,若是在指定時間後仍在運行,則殺死該進程。用來控制程序運行的時間。code

使用方法進程

timeout [選項] 數字[後綴] 命令 [參數]...

後綴」s」表明秒(默認值,」m」表明分,」h」表明小時,」d」表明天。it

選項介紹io

長選項必須使用的參數對於短選項時也是必需使用的。
  -s, --signal=信號
        指定在超時時發送的信號。信號能夠是相似"HUP"的信號名或是信號數。
        查看"kill -l"以得到信號列表
      --help        顯示此幫助信息並退出
      --version        顯示版本信息並退出

若是程序超時則退出狀態數爲124,不然返回程序退出狀態。
若是沒有指定信號則默認爲TERM 信號。TERM 信號在進程沒有捕獲此信號時殺死進程。
對於另外一些進程可能須要使用KILL (9)信號,固然此信號不能被捕獲。
相關文章
相關標籤/搜索