在 Bash 脚本中终止作业

Kill a job in Bash Script

我有 bash 脚本,它调用许多命令,包括 TOP 命令。 我的问题是如何以编程方式终止 TOP 命令并将控制权交还给脚本,以便它可以继续 运行?

谢谢

不确定如果您想稍后在没有用户交互的情况下终止它,首先要从脚本开始 top 是什么。也许使用 & 运算符启动 top 并分离它就足够了,因此您的脚本不会被阻止:

#!/bin/bash

echo "before"
top &
echo "after"

如果您想让脚本 top 在前台启动一段时间,请使用 timeout 命令:

timeout --foreground 30s top

到 运行 顶部 30 秒。

将迭代选项 -n number-d delay 结合使用。

top -d2 -n10 

...将完成大约 18 秒加上更多的工作(第一次和最后一次之间的时间 = 9*2s + 执行时间)。