はじめに
普段iOSアプリの開発をメインにしているということもあり、Linuxコマンドにはあまり触れない生活を送っております。
そして、完全にLinuxコマンドアレルギーを発症していました。はい...
でもやっぱり、Linuxコマンドもある程度勉強しなきゃなーと思い、とりあえず気になったps
についてまとめてみました。
とはいっても、まだまだ知識が浅いのでご容赦くださいませ。
こんな人が読むといいかも?
-
ps
コマンド?なんそれ?っていう人
環境
- macOS Monterrey ver12.3.1
- intel mac
なぜmacOSでLinuxコマンド使える?
本題とは少しずれるので興味ない方は飛ばしてください!
psコマンドを調べる中でふと疑問に思いました。
何でmacOSでLinuxOSのコマンドって使えるん??
ということで、少しだけ調べてみました。
macOSでLinuxコマンドが使える理由
簡単にいうと、macOSとLinuxOSは親戚同士みたいな関係らしいです。
- macOSができた
Unix
というOSをベースにできたもの - LinuxはLinusさんと言う人物が
Unix
っぽく作ったOS
と言う感じでどちらもUnix
に近いみたいですね。
この辺ももっと色々な経緯などがあるんだろうと思いますが、これくらいにしておきます。
以下の記事がわかりやすかったので、もう少し知りたい人は読んでみるといいかもしれません。
psコマンドとオプションたちの紹介
何するコマンドなん?
- プロセスを確認できる!
つまり、パソコン上でどんなプログラムが実行されているのかがわかるということみたいですね。
psコマンド
ps
のみを打つと現在自分が起動しているプロセスを見ることができます。実際にコマンドを打ってみると以下の画像のように表示されます。
僕のmac上ではzshelが起動しているよ。ということですかね。
項目 | 意味 |
---|---|
PID | プロセスのID(プロセスをKillしたい時とかに使える) |
TTY | 制御端末名 |
TIME | プロセスを実行するためにCPUを使った時間 |
CMD | プロセスの実行コマンド |
psコマンドのオプションについて
オプションコマンドの使い方
オプションを使うためには以下のように実行します。
$ ps [使いたいオプションの記号]
オプションを複数同時に使うことも可能で、その場合は以下のように使いたいオプションを並べて書けばOKです。
$ ps u
$ ps aw
とりあえずこれは覚えておくとよさそう
オプションは結構たくさんありますが、以下の4つのオプション(a,u,x,w)を使えば大体の情報を拾えるみたいなので、psコマンドとセットで覚えておくとよさそうです。
$ ps auxw
以下のようにgrep
コマンドと一緒に使うことで特定のプロセスだけを抽出することもできます。
$ ps auxw | grep [抽出したいワード]
主要なオプションの一覧紹介
結構たくさんあります。
オプション | 機能 |
---|---|
u | ユーザー名や時刻、メモリの使用率なども追加で表示します |
a | 全ユーザーのプロセスを表示します。rootUserなどのプロセスも表示されます。 |
x | 制御端末のないプロセス情報の表示します。 |
l | プロセスの優先度などを表示します。 |
w | プロセス情報の表示行数を増やします |
j | 親プロセス、プロセスグループなどを表示します |
m | スレッドを表示します。psだけの時の項目+スレッド |
t | 端末ttyが制御するプロセスのみ表示します。 |
オプションを使った時に表示される項目
オプションを使うとps
を単体で使った時よりも多くの情報を得られます。
項目についての説明を全て書いているとものすごく長くなってしますので、個別の項目の意味については以下の記事を読んでみてください。
プロセスをGUIで確認する方法
macであればアクティビティモニタを開くことで、プロセスを確認することができます!
おわりに
色々調べてなんとな〜く記事にしてみたんですが、そもそもpsコマンドを使わないとどうにもならない!という場面に遭遇したことがないので、はたしてどこが重要なのかということがあまりわかりませんでした...
いつか、ps!ps!ってコマンドを打つようになった時にまたこの記事を自分で見直してみようと思います。
今回、ちょっとだけps
コマンドについて詳しくなれました。
おわり。