ps -efコマンドの読み方
ぞす!げんきちです!\\\\٩( 'ω' )و ////
「いや、誰だよ」って方は、下記リンクを見てやってください。
目次〜
きっかけ
なんかユニコーンっぽいプロセスが3つ(?)動いてるのか...
一気に2つ消えた?
ん...?
今度は消えない...
なぜだぁあああああ!!!
ということで、ps -efコマンドの出力結果について調べました。
ps -efの出力結果の読み方
UID(EUID):実効ユーザーID
PID:プロセスのプロセス ID 番号
PPID:親プロセスのプロセス ID
C:プロセッサ使用率。プロセスの生存期間中に利用したパーセンテージを表す整数
STIME:プロセスの起動時刻、起動日
TTY:制御端末 (tty)
TIME:累積した CPU 時間
CMD:実行コマンド
TTYってなんだ?
TTYとは
teletypewriterの略。
PCと接続している入出力用の端末を指している。
ptsはsshなどの仮想端末であり、ttyは実端末を意味している。
・・・
大先輩と出会えました!
たとえば,いま自分が使っている端末がどれかを表示するには,
$ tty
と実行します(「/dev/pts/0」などと表示されるはずです).
また,
$ echo hogehoge > /dev/pts/0
などを実行すると,/dev/pts/0 に割り当てられた仮想端末に「hogehoge」と表示されます.kterm などの仮想端末をいくつか立ち上げたあと,数字をいろいろ変えて遊んでみると,なんとなく感じがわかるかと思います。
遊んでみた
まず同じユーザーで、異なるターミナルからSSHでログイン。
出力する側
出力される側
...ぉおお。なんか面白い。
echoコマンドで文字列を出力できる。
= /dev/pts/0は仮装ファイルであることが分かりました。
ただ、/dev/pts/って何だ?
/dev/pts/とは
devは、deviseの略。
ptsは、pseudo-terminalの略。
デバイスファイルと呼ばれる、接続してきた人がデバイスとやり取りするためのファイルが作られるディレクトリ。
うん。わかったようで分からない。
全体像
ふぉーん。
標準入出力先となっている端末デバイス
sshログイン前=>dev/ttys0003
sshログイン後=>dev/pts/1
自覚からの対策
うーん...なんかこう、しっくりこない。
たぶん個別的な理解が必要な段階じゃない感じ。
もっと基本的な、デバイスとは?OSとは?的な土台が足りない感じ。
急がば回れ...買いました/(^o^)\
また勉強したらアウトプットします!
<一日一新>