• ベストアンサー

コマンド結果のリダイレクト

UNIXコマンドで「sar」がありますが、 その中のオプション「-o」を使用しないで ファイルにリダイレクトをしたいです。 なお、その際にバックグランドで実行しています。 sarコマンドは長時間動かし途中でリダイレクト結果をviewなどで見たいのですがどうしたらよいでしょうか? ex) sar 5 10000 > log.txt & これだと、sarコマンドが終了しないとlog.txtに出力されません。いつでもviewなどで最新のlog.txtを見たいです

  • doh
  • お礼率21% (7/32)

質問者が選んだベストアンサー

  • ベストアンサー
  • astronaut
  • ベストアンサー率58% (303/516)
回答No.6

泥臭い手ですが,手元のHP-UXでは,以下のスクリプトで上手くいきました. #!/bin/sh while true; do sar 1 1 | tail -1 >> log.txt sleep 4 done

その他の回答 (5)

  • astronaut
  • ベストアンサー率58% (303/516)
回答No.5

おそらく参考URLのようなことなのではないかと思いますが,こればっかりはソースをいじらないとどうにもならない気がします.

参考URL:
http://www.catnet.ne.jp/kouno/c_faq/c12.html#4
  • shige_70
  • ベストアンサー率17% (168/946)
回答No.4

コマンドを実行して、bgで実行中 $ tail -f log.txt すれば、リアルタイムに出力されます。 この方法は意外に応用範囲が広いので、覚えておいて損はありません。

  • tatsu99
  • ベストアンサー率52% (391/751)
回答No.3

1.以下のようなスクリプト(xxx)を作ってください。 #!/bin/sh sar 5 10000 > log.txt 2.上記のスクリプト(xxx)をバックグランドで動かします。 xxx &

回答No.2

teeコマンドを使ってみれば? sar 5 10000 | tee log.txt って感じ。

参考URL:
http://itpro.nikkeibp.co.jp/linux/command/tee.shtml
  • epkakpe
  • ベストアンサー率43% (113/260)
回答No.1

sar 5 10000 > log.txt & これはこのままにして、もう一つmoreを使えばいいのではないですか。 sar 5 10000 | more 単順に、2つコマンドを走らせればよいのではと思います。

関連するQ&A

  • Windows 98系OSでのコマンドラインのリダイレクトについて

    Windows 98又はMeのコマンドラインのリダイレクトについて教えてください。 ◎やりたい事 Windows 98又はMeのコマンドラインの実行結果を正常・異常問わずにログ出力する。 ◎ためした事 ・「echo テスト > log.txt 2>&1」を実行 ⇒Windows 98又はMeで同じ事を実行すると'&1'というファイルができてその中身を見ると正常時のログしか出力されていません。また、log.txtは出力されていません。 ・「echo テスト > log.txt」を実行 ⇒実行結果が正常の場合は出力されるのですが異常の場合はコマンド画面に出力されてlog.txtに出力されません。 いろいろ検索したのですが解決に至っておりません。 よろしくお願いします。

  • Diskpart のリダイレクトの質問です

    コマンド プロンプト画面で Diskpart モード時の画面出力をリダイレクトしてテキスト ファイルに残したいのですが、上手く行きません。次のコマンドで Log.txt ファイルに画面出力がリダイレクトされるはずなのですが、記録が全く残りません。   Diskpart /s Script.txt > Log.txt 何度トライしても成功せず困っています。支援をお願いします。なお、テストのために使用した Script.txt ファイルは、次のようになっています。   List Disk   List Volume   Exit

  • Windowsコマンドプロンプトのリダイレクトについて

    宜しくお願いします。 Windowsのコマンドプロンプトで、 abcde /? > c:\textname.txt *abcdeはコマンド名 というようにコマンドの使用方法をリダイレクトで ファイルへ出力しようとしましたところ、 コマンドプロンプト上に出力されてしまい、 0バイトのファイルが生成されるだけです。 なぜでしょうか。 また、対処方法はありますでしょうか。 どうぞ宜しくお願い致します。

  • Kシェルのリダイレクト

    Kシェルのリダイレクト シェル初心者で申し訳ございませんが、ご教授いただけたら幸いです。 やりたいこと  xxx.kshの実行ログを出力したい。 出力したいログは、以下コマンド実行時に標準出力されるログをファイルへ落としたい。 尚、実際の実行コマンドは、ksh -xは入力しません。 $ ksh -x ./xxx.ksh 上記コマンドを実行すると、詳細なログが表示されるのですが、ファイルへ落としたいと思います。 分かりづらいかも知れませんが、宜しくお願い致します。

  • Windowsから直接起動するアプリにリダイレクトを設定するには?

    Windowsから直接起動するアプリにリダイレクトを設定するには? 「ファイル名を指定して実行」から直接アプリを起動し、それにリダイレクトを設定したいのですが、指定したファイルに出力されずに困っています。 例.「ファイル名を指定して実行」→「ipconfig > c:\hoge.txt」を入力= コンソールに出力 コマンドプロンプト上から「ipconfig > c:\hoge.txt」を実行するとhoge.txtに出力されるので、もしかしたらリダイレクト機能はWindowsではなく、コマンドプロンプトが持ってる?と疑っています。 だとしたら、Windowsから直接アプリを起動する場合、リダイレクトは設定できないことになりますが、この認識であっているでしょうか? 環境:Windows XP

  • UNIXのコマンド教えて下さい。

    UNIXで、lsの結果をファイルに出力する際、 ls > aaa.txtのようにすると出来ますが、 実行したコマンド "ls -la > aaa.txt" もファイルに出力させたいのですが、どうすれば出来ますか? 知ってる方教えて下さい!

  • シェルでリダイレクトができない

    bashを使っているのですが、 シェルの中で、 ./実行ファイル hoge1 hoge2 > hoge.txt という感じで二つの引数を使って動作する実行ファイルの標準出力を、リダイレクトしたいです。 ですが、テキストに出力をリダイレクトできません。 こんな感じの書き方でリダイレクトできないもんなんでしょうか? 教えて欲しいです。 よろしくお願いします。

  • ftpコマンドバッチファイルのリダイレクト結果

    以下のようなバッチファイルを作成しました ftp -s:ftpcmd.txt > ftplog.txt FIND /i "226 Transfer complete" ftplog.txt >NUL exit /b %ERRORLEVEL% ftpcmd.txt open hoge anonymous hoge prompt cd /xxxx/ put test.txt quit こうする事でftp送信が正常に終了したかどうかを exitの終了コードで判断しようとしていたのです バッチファイルを手動で動作させたところ成功です しかしこのバッチファイルを Webサーバのサーブレット(javaプログラム)から 動作させるとftplog.txtの出力結果がなぜか プログラムから実行した時のftplog.txt User (hoge:(none)): open hoge prompt cd /xxx/ put test.txt quit こんな結果になってしまうんです あれれ?ftpコマンドが出力するメッセージがリダイレクトされない んです 手動でこのバッチファイルを実行した時は 以下のようになります 226 Transfer complete. のメッセージがサーブレットからバッチファイルを実行しても ftplogファイルに出力されるように したいのですが 何かいい方法はないでしょうか? 手動実行した場合のftplog.txt ftp> Connected to hoge open hoge 220 Microsoft FTP Service User (hoge:(none)): 331 Anonymous access allowed, send identity (e-mail name) as password. 230 Anonymous user logged in. ftp> Interactive mode Off . ftp> prompt cd /xxx/ 250 CWD command successful. ftp> put test.txt 200 PORT command successful. 150 Opening ASCII mode data connection for test.txt. 226 Transfer complete. ftp: 59523 bytes sent in 0.00Seconds 59523000.00Kbytes/sec. ftp> quit 221

  • bashでの複数行のコマンドのリダイレクト

    Linux上のbashを使用して、複数行のコマンドの結果を一度にリダイレクトしたいと思います。 思いついた方法が、 #!/bin/bash cat << EOF >> ./test.log cat /etc/fstab cat /etc/inittab cat /etc/modprobe.conf EOF といった方法なのですが、これですとそれぞれのコマンドの結果ではなく、 単に cat /etc/fstab cat /etc/inittab cat /etc/modprobe.conf と言った出力結果がtest.logに出力されてしまいます。 上記のような複数のコマンドの結果を一度にリダイレクトする方法は無いでしょうか? cat /etc/fstab >> ./test.log cat /etc/inittab >> ./test.log cat /etc/modprobe.conf >> ./test.log と言った方法は避けたいと思います(実際には何10行と言うコマンド結果を出力したいので)

  • 標準出力とリダイレクトを同時に実行

    標準出力の結果をファイルに保存するにはリダイレクトを使うと思いますが、同時に標準出力にも表示したいです。 同時に、リダイレクトの「>>」のように、追記していくようにしたいです。 そのような場合、 http://blog.goo.ne.jp/minimal_room/e/26b4d965cd67ac5abfc4ca024e69501f によれば、teeコマンドを使うと良いそうなのですが、 ./a.out | tee log.txt のようにすると、標準出力されず、上手くいきませんでした。 どのようなコマンドを打ったら良いか教えて下さい。