0

我正在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"
4

1 回答 1

2

由于您是从同一个脚本启动 tcpdump,因此不需要killall.

如果您正在运行多个后台进程,请使用数组,如下所示:

pids=( )                 # initialize empty array
tcpdump & pids+=( "$!" ) # extend said array

...稍后,您可以杀死这些 PID:

kill "${pids[@]}"
于 2015-12-21T15:55:47.137 回答