![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
topコマンドでバッチモードが使えない。
環境は
MacOSXのSnowLeopard
Darwin Kernel Version 10.4.0
です。
スクリプトで使いたいのでバッチモードが使用できないと困るのですが、
実行したら下記のようなメッセージが出ます。
バッチモードで実行する方法はないでしょうか?
$ top -b
invalid option or syntax: -b
top usage: top
[-a | -d | -e | -c <mode>]
[-F | -f]
[-h]
[-i <interval>]
[-l <samples>]
[-ncols <columns>]
[-o <key>] [-O <secondaryKey>]
[-R | -r]
[-S]
[-s <delay>]
[-n <nprocs>]
[-stats <key(s)>]
[-pid <processid>]
[-user <username>]
[-U <username>]
[-u]
No.4ベストアンサー
- 回答日時:
Mac OS X の top コマンドは動作モードは non-logging(デフォルト) と logging があり、
他のOSでの interactive と batch モードに相当します。
logging モードで起動するには "top -l サンプリング数" のように指定します。
> $ top < /dev/null | grep ^Load
> でLoadが先頭にある行だけを取れるはずなんですけど、
> 何も取れません。
top を non-loggingモードで動かすと、画面制御コードが混ざったものが標準出力に流れるので、テキスト行指向の grep では引っかからないことも起こるでしょう。
パイプに繋ぐならば、logging モードを明示的に指定すべきです。
% top -l 1 |grep '^Load'
Load Avg: 0.40, 0.46, 0.48
今回のように 同じ top という名前のコマンドでも、OS によって挙動の違うものになっていることもままあります。
特定のコマンドに関することならば、そのコマンドのマニュアルに最初に当たるべきでしょう。
コマンド組み合わせて望みの動作をさせる方法を身につけたいということならば、UNIX の入門書やシェルの解説本を読み通して、定番の技法を知っておくのが良いと思います。
No.3
- 回答日時:
> Load Avgの行にあるCPU使用率やPhysMemの行にある情報を知りたいのです。
なるほど。そのあたりの話を、前回の質問で補足にでも書いていただければ話が早かったのですが…
> こうゆうコマンドの使い方はどうやって調べたらたどり着くのですか?
> qはつけてもつけなくても結果は一緒でしたが、何のqなんでしょうか?
top コマンドは「qキーで終了」するので、その「q」です。
ユーザーの操作で「qを押す」かわりに、リダイレクトで「q」を送り込めばいいだろう、
というだけの思いつきです。
こちらで試したところ、qを送らなくてもいいというか、
入力がリダイレクトされていた場合、入力が終わった時点でtopは終了するようですので、
単に
top < /dev/null | grep …
で十分だと思います。
本当にありがとうございます。
すいません。もうひとつ質問させてください。
$ top < /dev/null | grep ^Load
でLoadが先頭にある行だけを取れるはずなんですけど、
何も取れません。
正規表現が使えないのかよくわからないですが、
1行だけ抜き出す方法はないでしょうか?
No.2
- 回答日時:
前回の同様な質問に対しての回答と同じですが、
ロードアベレージを知りたいだけなら、uptime コマンドでは何故ダメなのでしょうか?
uptime コマンドは、ロードアベレージを表示するためのコマンドです。
ロードアベレージを知りたいのにtopコマンドを使うのは
無意味にプロセス情報を取ったりして無駄が多すぎます。
それでも、どうしても uptime コマンドではなく、top コマンドにこだわるのでしたら、
echo q | top
ではどうですか?
ありがとうございます。
ロードアベレージを知りたいんじゃなくて、
Load Avgの行にあるCPU使用率やPhysMemの行にある情報を知りたいのです。
echo q | top はまさにやりたかったことです。
こうゆうコマンドの使い方はどうやって調べたらたどり着くのですか?
qはつけてもつけなくても結果は一緒でしたが、何のqなんでしょうか?
何はともあれありがとうございました。
No.1
- 回答日時:
>$ top -b
>invalid option or syntax: -b
エラーメッセージも表示されているのに、ここで質問している質問者様が使うコマンドではないと思います。 もう少し勉強してからご利用下さい。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(開発・運用・管理) Windowsバッチファイルでリモートデスクトップを自動ログインするが確認画面が出る対処方法 1 2022/12/19 15:48
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- AJAX RPA(PowerAutomate)の実装について 1 2023/07/31 13:46
- Windows 10 SONYの音楽ソフト「x-アプリ」について 3 2023/01/29 19:09
- サーバー ログオンユーザーがいない場合に自動再起動 1 2022/09/28 09:53
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る バッチからEXEの結果を受け取りたいのですが、 下記のバッ 1 2023/07/04 15:13
- その他(コンピューター・テクノロジー) (コマンドプロンプト)コマンドプロンプトのactiveについて 2 2022/07/16 17:21
- その他(開発・運用・管理) WindowsからSSHでサーバーにあるファイルをダウンロードできない…。 3 2022/04/24 11:08
- MySQL mysqlがインストールされているのかどうか 1 2023/06/05 14:19
- MySQL mysqlがインストールされているのかわかりません 1 2023/06/05 02:26
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
UNIX コマンドにおける # や円...
-
SCコマンドでアクセス拒否
-
[バッチファイル]レジストリ値...
-
Linux:sedコマンドで置換がし...
-
shutdownコマンドをキャンセル...
-
Excel下部のメニューが消えた
-
アクセスのボタンから指定のワ...
-
ワイルドカードを使ってでフォ...
-
Solarisでshutdownコマンド使え...
-
linuxのシェル上でシリアル通信...
-
Ctrl+Zで戻りすぎた場合、逆に...
-
AIXでの文字コード、改行コード...
-
echo $!の意味を教えてください
-
コマンド履歴が~/.bash_history...
-
コマンドプロンプトにおけるコ...
-
相手PCのMACアドレスを知るため...
-
コマンドプロンプトで変数内に...
-
ls -lコマンドで表示される合計...
-
ccコマンドが使えない
-
compressコマンドってなくなっ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
UNIX コマンドにおける # や円...
-
SCコマンドでアクセス拒否
-
[バッチファイル]レジストリ値...
-
Ctrl+Zで戻りすぎた場合、逆に...
-
Excel下部のメニューが消えた
-
このエラー内容について教えて...
-
vbaで「最前面に」とする方法は?
-
「環境変数名の編集」ウィンド...
-
【Gmailコマンド】1年以上前の...
-
アクセスのボタンから指定のワ...
-
AIXでの文字コード、改行コード...
-
コマンドプロンプトにおけるコ...
-
iqoo neo 9と言うスマホがある...
-
Linuxコマンドは何の言語で書か...
-
ワイルドカードを使ってでフォ...
-
compressコマンドってなくなっ...
-
VBAを使って電源を切るには?
-
shutdownコマンドをキャンセル...
-
Linux:sedコマンドで置換がし...
-
Linuxでコマンドが終了しない
おすすめ情報