0

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

runonce --dampen 300 echo "hello"

このコマンドは、実行するコマンドと、実行される頻度を制限するためのオプションの基準を取ります。

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

走ったら

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

ほぼ同時に 3 つの異なるサブシェルから、最初のサブシェルは 300 ミリ秒存続し、hello を出力します。残りの 2 人はすぐに戻ってきて、何もしません。

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

4

2 に答える 2

1

flockどういうわけかmanページから取られた可能な解決策は次のようになります:

#!/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にハッシュを導入

于 2010-10-24T17:06:47.020 に答える
0

cronを見て、これが要件を満たしているかどうかを確認することをお勧めします

于 2010-10-24T16:22:20.870 に答える