我正在看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
在这里父母?
您可以将
pid
主脚本传递给子shell,然后kill
在需要时传递:对,
exit
正在影响已被后台处理的进程,正在安排零退出状态。我不会把它称为“杀戮”,因为这个过程无论如何都处于停止的边缘。在后台运行 wpa 命令,并跟踪它的 PID,这样您就不必使用
killall
:我知道,您的 wpa 命令有点长,我缩写以提请注意重要部分。