Tom*_*mas 0 linux bash command sleep kill
我有一个bash脚本abcd.sh,我想(/usr/local/bin/wrun 'uptime;ps -elf|grep httpd|wc -l;free -m;mpstat')在5秒后杀死这个命令但在这个脚本中它会在5秒后终止sleep命令.
#!/bin/sh
/usr/local/bin/wrun 'uptime;ps -elf|grep httpd|wc -l;free -m;mpstat' &
sleep 5
kill $! 2>/dev/null && echo "Killed command on time out"
Run Code Online (Sandbox Code Playgroud)
尝试
#!/bin/sh
/usr/local/bin/wrun 'uptime;ps -elf|grep httpd|wc -l;free -m;mpstat' &
pid=$!
sleep 5
kill $pid 2>/dev/null && echo "Killed command on time out"
Run Code Online (Sandbox Code Playgroud)
更新:
一个工作示例(没有特殊命令)
#!/bin/sh
set +x
ping -i 1 google.de &
pid=$!
echo $pid
sleep 5
echo $pid
kill $pid 2>/dev/null && echo "Killed command on time out"
Run Code Online (Sandbox Code Playgroud)
您应该使用timeout(1)命令:
timeout 5 /usr/local/bin/wrun \
'uptime;ps -elf|grep httpd|wc -l;free -m;mpstat'
Run Code Online (Sandbox Code Playgroud)