【Linux】ps実行時に-efオプションを付ける理由
こんにちは。
普段はIT業界についてのブログを執筆してるエンジニアです。
» 参考:プログラマーの年収は200万円以下です【IT業界の残酷な成功法則】
今回は、linuxについての解説記事です。
psコマンドの-efオプションについて調べる人
「psコマンドを実行する時は常に-efオプションを付与すればいいですか?どういうオプションなのか、各オプションの意味を知りたいです。また、他のオプションを指定したり、-efオプションを指定しない方が良いケースもあるのでしょうか?」
こんな悩みを解決します。
この記事を書いている私はIT業界歴12年、うちサーバエンジニア歴6年、年収1,000万円ちょっとの金融系エンジニアです。IRIXやSolarisなどのUnixやmac、Linuxなど様々なUNIX系環境を扱ってきました。
これまでの経験を踏まえ、コマンドの解説に留まらず実務視点で利用方法を記事にしました。お役にたちましたら幸いです。
本記事で扱うのはLinux/Macのpsコマンドです
本記事では、LinuxまたはMac環境を前提にしています。それ以外のUNIX環境では一部の動作が異なることがあります。
本記事の内容
1. psの-eオプションとは
psの-eオプションを使えば、全てのユーザのプロセスの情報を表示
します。-eオプションを付けない場合、自ユーザで起動したプロセスの情報しか表示されません。
もしあなたがアプリケーションエンジニアで、今お使いの1つのアプリケーション・ユーザの情報にしか興味がない場合は-eオプションは不要です。
しかし多くの場合、複数のユーザを利用して開発・運用するでしょうから、-eオプションを付与することでユーザを横断したプロセス情報を出力し、その中から必要なプロセス情報を選別していくのが一般的です。
2. psの-fオプションとは
-fオプションを付与することで、情報を省略せず、完全なフォーマットで出力します。
UID(プロセスの実行ユーザ)、PPID(プロセスを実行した親プロセス)、C(プロセスのCPU使用率)、STIME(プロセスの開始時刻)、実行コマンドの引数が表示されるようになります。
結論:ps実行時には-efオプションが必要
psコマンドを実行する場合、以上の情報を取得するために-efオプションを付与します。
自ユーザの情報だけが欲しいケースもあると思いますが、ps -f
とせずにps -ef | grep 《自ユーザ名》
と記述してしまっても負荷などの観点から見ても影響は軽微で、問題とならないからです。おまじないのように覚えておいても良いと思います。
4. ps -ef実行例
ps -efの実行例を示します。
$ ps -ef USER UID PID PPID C STIME TTY TIME CMD root 0 1 0 0 水12PM ?? 6:38.17 /sbin/launchd root 0 41 1 0 水12PM ?? 0:35.90 /usr/sbin/syslogd root 0 46 1 0 水12PM ?? 0:10.65 /usr/libexec/kextd root 55 52 1 0 水12PM ?? 0:00.73 /System/Library/CoreServices/appleeventsd --server root 0 53 1 0 水12PM ?? 3:10.37 /usr/sbin/systemstats --daemon user1 0 66 1 0 水12PM ?? 9:14.21 /bin/sleep 3600
各項目の意味は以下の通りです。
項目 | 説明 |
---|---|
USER | ユーザーのログイン名 |
PID | プロセス ID |
PPID | 親プロセスの ID |
C | プロセスの CPU 使用状況 |
STIME | プロセスの開始時刻 |
TTY | プロセスのコントロール・ワークステーション |
TIME | プロセスの実行時間の合計 |
CMD | コマンド |
5. 業務利用時の注意点
Linux環境で開発・運用しているエンジニアであれば、psコマンド実行時には常にps -efを実行するように習慣化して問題ありません。特定のプロセスや実行中のシェルスクリプト、ミドルウェアなどの情報はこれで採取できるからです。
また、各プロセスのリアルタイム性のある負荷状況などを確認したい場合はtopコマンドを使うと良いです。
おわりに
今回は以上です。psコマンドの-efオプションについて解説しました。実務等で利用する場合の参考になりますと幸いです。
Blog TOP Linuxコマンドを勉強したい人向け|Linuxの使い方 記事まとめ
Linux&Linuxコマンドを勉強したい人向けの記事もくじ
用語解説・技術一般
"UNIXとLINUX"の違いについて解説します
CUIとGUIの違い・特徴について解説します
サーバリソースを確認するコマンドの使い方
【Linux】CPU使用率を確認する3つの方法を解説します
【Linux】topコマンドで,CPU消費の原因を特定する方法
【Linux】ps実行時に-efオプションを付ける理由について
【Linux】メモリ使用率を確認する|容量・空きの確認も
【Linux】ディスク容量を確認する|ディスク容量監視も
ファイル操作に関するコマンドの使い方
【Linux】ファイルの行数をカウントする方法を解説
【Linux】文字コード変換ならiconvコマンド1択です
【Linux】/dev/nullを、エンジニアが使う2つの目的
【Linux】findのexecオプションの使い方とその注意点
【Linux】findの結果から圧縮ファイルを作るコマンド
【Linux】hostsの場所はどこ?→/etc/hostsにあります
【Linux】touchコマンドで,時刻更新&空ファイル作成
Linux管理者用コマンドの使い方
【Linux】再起動コマンド(shutdown)の使い方と注意点
よく使う便利なコマンドの使い方
【Linux】改行なしでechoコマンドを使う時の -nオプション
【Linux】sleepコマンドの使用例と注意点について解説する
【Linux】rmコマンドでディレクトリを削除する方法を解説
【Linux】ファイルを削除するコマンド2選【rm以外もあり】
【Linux】awkの区切り文字を指定する,-Fオプションを解説
【Linux】sedで文字列の置換をするeオプションを解説する
【Linux】dateコマンドのフォーマットとその便利な使い方
【Linux】大文字から小文字に変換する方法【小文字から大文字も】
シェルの便利機能
「今の会社を辞めて転職します。エンジニア職に強みのあるおすすめの転職サイト・転職エージェントを教えて欲しい。また好条件で転職するにはどうすれば良いですか?」こんな悩みに答えます。 ITエンジニアに強いおすすめの転職サイト・転職エージェント3選 転職成功には強くてニューゲームが条件。どうやって実現する?