2017-07-13 12 views
0

forまたはwhileループを使用せずにLinux端末で実行中のクロックを表示する方法。 1秒間のスクリプトでこれらのループを使用すると、システムに重大な負荷がかかります。ループを使用せずにbashを使用して端末に実行クロックを表示

watch -n 1 date 

使用時計、定期的にコマンドを実行するには:についてどのよう

+0

CTRL-Cを打つまで、それはあなたが2つの仮定(1)でループを作るように見える無期限に実行されます。このスクリプトを実行した場合(2)ループと基本的に同じ機能を持ち、パフォーマンスは向上している構造がいくつかあります。どちらの仮定もうまくいきません。 –

+0

私は約6つのスクリプトを実行していましたが、スクリプトのループだけでした。スクリプトごとにCPU使用率は0.3%でした。ので、約2%のCPU使用率。ループでは、dateコマンドを定期的に呼び出します。 – Vijay47

+0

各ループに「スリープ1」がありますか?これを再現することはできません。すべては0%でフラットになります。 –

答えて

1

+0

時計がうまく見えますが、時計のように画面を適切にカスタマイズすることはできません(色など)。 – Vijay47

0

あなたはと自分自身を呼び出す関数を作ることができsleep

#!/bin/bash 

function showdate(){ 
    printf '\033[;H' # Move the cursor to the top of the screen 
    date    # Print the date (change with the format you need for the clock) 
    sleep 1   # Sleep (pause) for 1 second 
    showdate   # Call itself 
} 

clear    # Clear the screen 
showdate   # Call the function which will display the clock 

あなたは

関連する問題