如果超时不成功,是否可以终止命令?

如果超时不成功,是否可以终止命令?

我想用它mbuffer来进行 ZFS 复制,但为了做到这一点,我必须在目标主机上以监听模式启动它。我将从主主机执行此操作

ssh 10.10.10.11 mbuffer -s 128k -m 1G -I 9090 | zfs receive tank3/pro4

mbuffer永远不会超时,但是当复制完成时会成功退出。

问题

mbuffer如果在 2 分钟内没有返回成功,是否会超时?

答案1

时限FreeBSD 端口中的实用程序用于限制任何命令的执行时间。如果触发超时,命令将被终止。

答案2

是的,使用包装脚本启动 mbuffer 进程,记录与 mbuffer 关联的 PID,让脚本休眠 2 分钟,然后如果 PID 仍然存在,则 TERM 终止该 PID。

答案3

您还可以通过使用 SSH 作为传输方式的一体化命令来启动 mbuffer。如果目标是远程的,则不是问题……如果目标是本地的,则性能会受到更大的影响……

zfs 发送 tank3/pro4@snapshot | mbuffer -q -v 0 -s 128k -m 1G | ssh [电子邮件保护]'mbuffer -s 128k -m 1G | zfs 接收 tank3/pro4'

如果性能是一个问题,您可能会受到 CPU 和 SSH 加密的限制。有几种解决方法...

相关内容