gpt4 book ai didi

linux - 是否存在用于限制命令执行的 runonce 命令

转载 作者:太空宇宙 更新时间:2023-11-04 11:40:22 24 4
gpt4 key购买 nike

此命令是否适用于 Linux?

runonce --dampen 300 echo "hello"

该命令将采用命令运行和可选标准来限制它执行的频率。

选项 dampen 表示等待 300 毫秒,然后运行命令。此命令的任何其他执行都合并为一次运行。这允许您以通用方式折叠事件并组合它们的执行。

如果你跑了

runonce --dampen 300 echo "hello"
runonce --dampen 300 echo "hello"
runonce --dampen 300 echo "hello"

大致同时从三个不同的子 shell 中,第一个将存活 300 毫秒并打印 hello。另外两个会立即返回,什么都不做。

如果存在,该工具的名称或指向其项目页面的链接是什么?

最佳答案

一个可能的解决方案,以某种方式取自 flock 手册页,将是:

#!/bin/sh
# name me 'runonce'

timeout="$1"; shift
command="$1"; shift
hash=$(echo "$command" "$@" | md5sum)
(
flock -xw0 3 || exit
sleep "$timeout"
"$command" "$@"
) 3>"/tmp/$hash"

示例用法:

runonce 10 echo "hello"

其中 10 是秒数(不是毫秒)。

编辑:在 commad+parameters 上引入哈希

关于linux - 是否存在用于限制命令执行的 runonce 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4009041/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com