名稱

timeout - 在規定時限內執行一個命令

概述

timeout [選項列表] 持續時間 命令 [ 引數列表]...
 
timeout [選項列表]

描述

執行所給命令,如果它超過指定時間後仍在執行,則殺死其程序。
必選引數對長短選項同時適用。
--preserve-status
將退出狀態值設為與所執行指令的退出狀態相同的值,即使
指令執行超時
--foreground
當不是直接在 shell 命令提示符下執行 timeout 的情況下使用,
允許所執行命令直接由 TTY 讀取資料,並且接收 TTY 的訊號;在這種模式下,所執行命令的子程序將不會被 timeout 的超時控制所考慮
-k, --kill-after=持續時間
如果初始訊號已發出且再次等待了指定時間之後
所執行命令仍在執行則發出 KILL 訊號
-s, --signal=訊號
指定超時發生時應當送出的訊號;
訊號可以是類似“HUP”的訊號名或是訊號數;從“kill -l”的輸出可獲得訊號的列表
-v, --verbose
對任何超時後傳送的訊號,向標準錯誤輸出診斷資訊
--help
顯示此幫助資訊並退出
--version
顯示版本資訊並退出
持續時間應當是一個浮點數,字尾是可選的:“s”表示秒(預設值),“m”表示分鐘,“h”表示小時,或者使用“d”表示天數。若持續時間為 0,將禁用所關聯的超時配置。
超時以後,如果沒有指定其他“訊號”,則向給定“命令”傳送 TERM 訊號。TERM 訊號將殺死沒有阻塞或捕獲該訊號的程序。有時可能需要使用 KILL 訊號,因為此訊號無法被捕獲。

退出狀態:

124
如果指定“命令”超時,且未指定 --preserve-status 選項
125
如果 timeout 命令本身執行失敗
126
如果找到了命令,但無法執行
127
如果未找到命令
137
如果命令(或 timeout 命令本身)收到了 KILL (9) 訊號(即 128+9)
-
其他情況下,退出狀態是命令的退出狀態

缺陷

某些平臺目前不支援將超時時間設定為超過 2038 年。

作者

由 Padraig Brady 編寫。

報告錯誤

GNU coreutils 的線上幫助: <https://www.gnu.org/software/coreutils/>
 
請向 <https://translationproject.org/team/zh_CN.html> 報告翻譯錯誤。

版權

Copyright © 2022 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
 
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

參見

kill(1)
完整文件請見: <https://www.gnu.org/software/coreutils/timeout>
 
或者在本地使用: info '(coreutils) timeout invocation'

本頁面中文版由中文 man 手冊頁計劃提供。
 
中文 man 手冊頁計劃: https://github.com/man-pages-zh/manpages-zh

Recommended readings

Pages related to timeout you should read also: