我正在尝试编写一个bash脚本,使用不同的命令行选项在一个接一个地运行一个大约1024次。然而,其中一个进程包括无限循环,我试图在循环的另一次迭代开始之前杀死该进程。
所以这是我到目前为止所尝试的(prog1包含无限循环,我想在papi完成运行时杀死它):
#!/bin/bash
for (( i=0; i<32780; i+=32))
do
./prog1 $i &
pid=$!;
sleep 5s
./papi
kill -s 2 $pid
done
但是它不会杀死任何prog1
实例,当然它会在每次迭代开始时继续创建它们。我做错了什么?
答案 0 :(得分:0)
它在完成之前杀死了一个进程:
pkill $!
例如:
telnet 192.168.1.1 1>/dev/null 2>&1 &
pkill $!