5

スクリプトを書いていて、ある時点で "command1" を呼び出しますが、これは CTRL+C が呼び出されるまで停止しません。

  1. コマンドのタイムアウトを示す方法はありますか? 同様に: command1 引数 -timeout 10
  2. CTRL+C コマンドをテキスト形式で記述するにはどうすればよいですか?

どうも!

4

3 に答える 3

7

GNU coreutils からコマンドを使用できますtimeout(最初にインストールする必要がある場合がありますが、すべてではないにしてもほとんどの Linux ディストリビューションに含まれています)。

timeout [OPTION] DURATION COMMAND [ARG]...

例えば:

timeout 5 ./test.sh

実行から 5 秒後にスクリプトを終了します。(TERM の代わりに) KILL シグナルを送信する場合は、-kフラグを使用します。

ここに、コマンドの完全な説明がありtimeoutます。

于 2012-06-15T13:24:36.247 に答える
0

やってみました

jekyll -server & sleep 10;pkill jekyll

あなたの状況のた​​めに行うことができます。

于 2012-06-15T13:24:20.960 に答える
-1

スクリプトでは、待機を設定できます。wait 1010秒間待機CTRL + Cし、コマンドを調べずにプログラムを終了しますexit。あなたが使用する場合、exit 0それは大丈夫を意味します。さまざまなバージョンがありますが、頭のてっぺんから正確に何を意味するのかわかりません。

exit 1
exit 2..... so on and so forth

アップデート


@セラダ

バッシングする必要はありません。「質問を正しく理解していなかったかもしれません」と言ったかもしれませんが、Stackoverflowは、人々が解体するのではなく、学習するのを支援するためにここにあります。彼らはそのためにRedditを発明しました。終了コードについては、コードを指定してexit()コマンドを発行することにより、プログラムを強制的に終了させることができます。linux.die.netから直接。

Exit Code Number Meaning Example Comments 
1 Catchall for general errors let "var1 = 1/0" Miscellaneous errors, such as "divide by zero" 
2 Misuse of shell builtins (according to Bash documentation)   Seldom seen, usually defaults to exit code 1 
126 Command invoked cannot execute   Permission problem or command is not an executable 
127 "command not found"   Possible problem with $PATH or a typo 
128 Invalid argument to exit exit 3.14159 exit takes only integer args in the range 0 - 255 (see footnote) 
128+n Fatal error signal "n" kill -9 $PPID of script $? returns 137 (128 + 9) 
130 Script terminated by Control-C   Control-C is fatal error signal 2, (130 = 128 + 2, see above) 
255* Exit status out of range exit -1 exit takes only integer args in the range 0 - 255 
于 2012-06-15T13:25:34.233 に答える