質問

このコマンドはLinuxに存在しますか?

runonce --dampen 300 echo "hello"

コマンドは、実行するコマンドを取得し、オプションの基準は頻繁に実行されます。

オプションは、300ミリ秒待ってからコマンドを実行していると言っています。このコマンドのその他の実行は、1回の実行に合体します。これにより、イベントを一般的な方法で崩壊させ、その実行を組み合わせることができます。

走った場合

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

ほぼ同時に3つの異なるサブシェルから、最初のサブシェルは300ミリ秒間生き、こんにちは。他の2人はすぐに戻り、何もしません。

これが存在する場合、ツールの名前またはそのプロジェクトページへのリンクは何ですか?

役に立ちましたか?

解決

どういうわけか採取された可能な解決策 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+パラメーターにハッシュすることを導入しました

他のヒント

見たいと思う クロン, 、これがあなたの要件を満たしているかどうかを確認します

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top