如何在bash中一段时间后停止命令

  • 本文关键字:命令 一段时间 bash bash
  • 更新时间 :
  • 英文 :


在bash中,我正在运行带有文本输出的iftop工具。它是一个监控网络并定期将结果写入标准输出的工具(默认情况下是终端,但可能是其他文件(。它在前台运行,直到我用ctrl + C停止它

我想让它运行一段时间(例如1分钟(,然后自动停止

我如何在bash中制作这个?

以下是我已经尝试过的:

sudo iftop -nNPt -L 100 -i wlp0s20f3 > iftop.out & pid=$!; sleep 20; sudo kill $pid

但是,1(它不会终止进程,2(它不会重定向到文件

在Linux中使用timeout命令应该可以工作,语法如下,

timeout [OPTION] DURATION COMMAND [ARG]...

我想您可以尝试将&之后的所有内容放在下一行中。为此,您必须将整个命令放入.bashrc中的函数或脚本中:

sudo iftop -nNPt -L 100 -i wlp0s20f3 > iftop.out &
pid=$!; sleep 20; sudo kill $pid

最新更新