1
我的程序需要兩個變量(從0到100),其中n爲&。Bash:如果命令在給定的時間內沒有完成 - 更改變量
PROGRAM n k INPUT > OUTPUT
我想知道哪些變量組合可以產生最佳輸出。這是我這樣做的方式:
for n in {1..100}; do
for k in {1..100}; do
PROGRAM n k INPUT |
awk -v n="$n" -v k="$k" '{print n,k,$0}' >> OUTPUT # Latter I analyse output and select best combination
done
done
這很好用。然而,一些變量(例如從80到90的n)需要很長時間才能運行。
我想要什麼:
運行給定的腳本一段時間,如果PROGRAM還沒有完成跳轉到下面的變量。
例如:
(n=11; k=23) PROGRAM 11 23 INPUT # Runs 59 seconds -- OK
(n=11; k=24) PROGRAM 11 24 INPUT # Runs 34 seconds -- OK
(n=11; k=25) PROGRAM 11 25 INPUT # Already runs 60 seconds -- Too much. End and jump to (n=11; k=26)
(n=11; k=26) PROGRAM 11 26 INPUT
TIL linux有一個'timeout'命令。謝謝!只是表明,即使過了幾十年,你從未完成學習Linux。 ;-) –