Linux初心者として、私はいくつかの問題に直面しています。次のように端末に1つのコマンドがあります。
このコマンドを実行すると数行が生成されますが、問題はctrl + c
手動で押さずに5秒後にこのコマンドを停止する必要があることです。
ctrl + c
このプロセスを1000回以上繰り返す必要があるため、実際に押さずにコンピュータを介してこれを行うにはどのような方法を使用する必要がありますか?
- コマンドの実行
- 停止コマンド
- (xx秒間停止)
- コマンドの実行
- 停止コマンド
- (xx秒間停止)
- など。
特別なプログラムをインストールする必要がありますか、またはbashスクリプトを使用してインストールできますか?
ベストアンサー1
バックグラウンドでコマンドを実行し、フォアグラウンドで5秒間待機してから、バックグラウンドコマンドを終了できます。
バックグラウンドでコマンドを実行します。
command &
PIDコマンドを変数に保存します。
command_pid=$!
5秒間睡眠:
sleep 5
バックグラウンドプロセスの終了:
kill "$command_pid"
これで一時停止を追加し、ループ全体を移動できます。
リング:
for ((i=0; i<1000; i++)); do
crunch 7 7 abcdefghijklm &
command_pid=$!
sleep 5
kill "$command_pid"
sleep 5 #pause
done