バックグラウンドプロセスでスクリプトを終了しますか?

バックグラウンドプロセスでスクリプトを終了しますか?

wpa_supplicantパスワードが間違っている場合は、スクリプトを終了できるように見ています。

以下にコードブロック全体の背景を含めました。echo実行していることがわかりますが、exit基本スクリプトは停止しないようです。

  (sudo stdbuf -o0 wpa_supplicant -Dwext -i$wifi -cwifi.conf 2>&1 \
    | grep -m 1 "pre-shared key may be incorrect" \
    && echo I see this \
    && exit) &

exit私はこれがすでにバックグラウンドで実行されているスレッドを殺していると思いますか?

そうですか?それでは、killここでどのように親になることができますか?

ベストアンサー1

pidデフォルトスクリプトをサブシェルに渡し、kill必要に応じて渡すことができます。

export mypid=$$

(sudo stdbuf -o0 wpa_supplicant -Dwext -i$wifi -cwifi.conf 2>&1 \
| grep -m 1 "pre-shared key may be incorrect" \
&& echo I see this \
&& kill $mypid) &

おすすめ記事