0
私は20秒ごとにbashスクリプトを使用してvmstatを実行し、その結果を数時間ファイルに出力しようとしています。私のスクリプトは次のようになります。vmstatがファイルに出力を書き込んでいません
#!/bin/bash
vmstat 20 1000 | ./timestamp.pl >> vmstat.txt
timestamp.plスクリプトは次のようになります。私は、vmstatの出力の各行にタイムスタンプを挿入するためにtimestamp.plを呼び出しています
#!/usr/bin/perl
while(<>){
print localtime() . "$_ ";}
。このスクリプトはSunOS上で約1時間実行されており、vmstat.txtファイルには何も表示されません。どのようなアイデアがこれを改善するか、それともvmstat.txtファイルに出力を書き込むのか?
再現することはできませんこの問題。 Solaris 11でうまく動作します。 – Cyrus
システムに 'unbuffer'があるかどうか確認してください。' vmstat'行にあらかじめ保留しておいてください。あるいは 'stdbuf -o0 program |のように' stdbuf'を読み書きすることができるかどうかを見てください。 stdbuf -i0 script'を実行します。がんばろう。 – shellter
@Cyrus、システムはsolaris 10です。 – user1471980