私の Bash スクリプトでは、コマンド ( aircrack-ng
) を起動して、後で使用するために出力を var に復元する必要があります。.cap
目的は、ある種のデータ (WPA ネットワークのハンドシェイク) があるかどうかを知るために、ファイルの出力を解析することです。
問題は、このコマンドがときどき (解析するファイルに応じて)、ユーザーに 1 つのオプションを選択するように求めるプロンプトを停止することです。ファイルに 1 つのネットワークからのデータしかない場合、ファイルは停止しません。ファイルに別のネットワーク データがある場合、停止します。
コマンドの出力は既に解析されていますが、問題はスクリプトが停止することです。起動した直後にコマンドを強制終了し、出力を var に復元し、スクリプトを停止したくありません。
最後に & を付けて起動してバックグラウンドで実行してから強制終了しようとしましたが、とにかく停止します。
nets_from_file=$(aircrack-ng /path/to/somefile.cap 2> /dev/null | egrep "WPA \(1" | awk '{ saved = $1; $1 = ""; print substr($0, 2) }' &)
kill -9 $(ps aux | grep aircrack-ng | grep -v "grep" | awk '{print$2}') > /dev/null 2>&1
停止の原因となっている最初のコマンドを起動し、出力を回復して、スクリプトを停止せずにそのコマンドを強制終了する方法はありますか?