何もしないが、決して終了しない Linux コマンドはありますか?

何もしないが、決して終了しない Linux コマンドはありますか?

文字通り何もせず、何も出力しないが、 まで存続する Linux コマンドを探しています^C

while true; do; doneCPU を大量に消費するため、良い解決策ではありません。

答え1

見てみるとシステムコール実際にまさにそれを実現するものが存在します。pause(2):

pause()呼び出しプロセス (またはスレッド) をシグナルが配信されるまでスリープ状態にします...

もちろん、それを使用するプログラムが必要です。以下の 2 行の C プログラムをコンパイルする以外に、最も簡単な方法はおそらく Perl を使用することです。

perl -MPOSIX -e pause

C の場合:

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

答え2

GNUsleepsleepの組み込み関数ksh93( は除くmksh) は、整数だけでなく任意の浮動小数点数を受け入れるため、次のように実行できます。

sleep infinity

答え3

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

while true; do sleep 600; done

ループ間で 10 分間スリープします。

答え4

あなたはできる:

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

これは stdin を使用せず (使用readする場合)、/an/existing/regular/file への新規追加を待機します (一部のファイルでは機能しません。tail -f /dev/nullすぐに終了します。ただし、すべての通常のファイルでは機能します。そのファイルが大きくならない場合は、コマンドは CPU をほとんど消費しません)

関連情報