我在脚本中启动tcpdump
我也会从同一个脚本中删除它。所以我目前正在使用killall
命令:脚本从udev
规则执行:这是应该终止tcpdump
的部分:另外我也是使用-s SIDKILL
,因为我已经知道这也有帮助。
killall
没有终止tcpdump
的问题是什么。当我手动启动脚本时,一切正常。
if [[ "$pid1" != "" ]];then
sudo killall -s SIGKILL tcpdump
sh /tmp/scripts/autoumount.sh &
sudo kill -9 $$
echo "autodump stopped"
答案 0 :(得分:1)
由于您从同一个脚本启动tcpdump,因此无需killall
。
如果您正在运行多个后台进程,请使用数组,如下所示:
pids=( ) # initialize empty array
tcpdump & pids+=( "$!" ) # extend said array
...稍后,你可以杀死那些PID:
kill "${pids[@]}"