何もせずに終了しないLinuxコマンドはありますか? [コピー]

何もせずに終了しないLinuxコマンドはありますか? [コピー]

実際には何もせず、何も出力しませんが^C

while true; do; doneこれはCPUを多用するので、良い解決策ではありません。

答え1

私たちが見るとシステムコール、実際にこれを行う製品があります。pause(2):

pause()シグナルが転送されるまで、呼び出しプロセス(またはスレッド)を休止状態にします。

もちろん、これを使うプログラムだけでいいです。次の2行のCプログラムをコンパイルする以外に、最も簡単な方法はPerlを使用することです。

perl -MPOSIX -e pause

Cで:

#include <unistd.h>
int main(void) { return pause(); }

答え2

GNUsleepおよび(ではない)sleepの組み込み関数は、整数だけでなくすべての浮動小数点数を受け入れるので、次のことができます。ksh93mksh

sleep infinity

答え3

コマンドを追加するだけですsleep

while true; do sleep 600; done

サイクルの間に10分間眠ります。

答え4

あなたはできます:

tail -f /an/existing/regular/file >/dev/null

これは標準入力を使用せず、read/an/existing/regular/fileへの新しい追加を待ちます(一部のファイルでは機能しません。tail -f /dev/nullすぐに終了しますが、すべての通常のファイルでは機能します。ファイルが増えない場合は、このコマンドはCPUをほとんど消費しません)

関連情報