2

バックグラウンドでパイプ処理されたプロセスが 1 日以上実行されています。

$ cmd | cmd | cmd | cmd | cmd > file

ファイル内の現在の状態を確認できるように、すべてのパイプをフラッシュすることはできますか?

4

1 に答える 1

2

解決

コンパイル

#include <stdio.h>
#include <unistd.h>
#include <sys/errno.h>
int main(int argc, char **argv){
  fflush(NULL);
  if (!errno) sync();
  return errno;
}

たとえば、個人的な好みや権限に応じて、このコマンドがパスにあることを確認し、単に使用してくださいfflush~/bin/opt/bin/usr/local/bin

討論

この (単純な!) ものが通常のツールセットに存在しないという事実は、めったに役に立たないことを示唆しています。一般に、これは OS によるスマート化の試みを打ち負かし、物事を遅くします。さらに悪いことに、あなたが示しているような拡張されたパイプラインでは、「間違った」順序でパイプをフラッシュする可能性があり、以前よりも現在の進行状況があまり確実ではなくなります。

于 2013-01-07T16:42:50.513 に答える