您好我正在运行一个shell命令&使用具有内容的shell脚本在10秒后自动终止它:
(cmdpid = $ BASHPID;(睡10;杀死$ cmdpid)& exec redis-cli --latency)
这是有效的&查杀。如何在命令被终止后更改shell脚本以实际获取命令的o / p。
答案 0 :(得分:1)
如果我理解正确,您可以通过将stdout和stderr重定向到文件然后在睡眠后终止程序来捕获程序的输出,如下所示:
ping stackoverflow.com >/tmp/ping.log 2>&1 & sleep 10 && kill $!
$!是最近的后台命令的PID。
这样你就不需要像我理解你在你的剧本中那样杀死整个bash过程。