Session
通常、シェル セッションを指します。シェルは、コンピューターと対話できるようにするものです。これは、ユーザーとカーネルの間のブリッジとして機能します。コマンドを実行するたびに、ユーザーの意図を捉えてカーネルに実行を指示するのはシェルです。
ほとんどの Linux フレーバーでは、デフォルトのシェルは bash
です。 そして新しい bash
新しいターミナルを開くたびにセッションが開始されます。 w
の出力 あなたが投稿した、グラフィカルなログイン セッションがあるようです (マシンを sshing しているように見えます):
argento :0 18set13 ?xdm? 2days 1.58s gdm-session-worker [pam/gdm-password]
いくつかの開いているターミナル エミュレーター:
argento pts/0 18set13 29:26m 5:26 5:26 rdesktop -g 1200x700 -u administrator -p XXXXXXXXX -d DOMAIN -K srv-wsus
argento pts/1 18set13 9days 0.16s 0.16s /bin/bash
argento pts/2 lun10 5.00s 0.09s 7.55s /usr/bin/python /usr/bin/terminator
argento pts/3 14:40 33:41 0.09s 0.03s vim notes.txt
argento pts/4 gio12 26:04m 0.10s 7.55s /usr/bin/python /usr/bin/terminator
argento pts/5 14:56 17:33 0.11s 0.11s /bin/bash
また、非グラフィカル tty からログインしたようです:
argento tty2 15:11 1:01 0.09s 0.09s -bash
これらはそれぞれシェルの個別のインスタンスであり、それぞれが独自のセッションとしてカウントされます。
1. ユーザーは単一のプロセス (コマンド ライン インターフェイスであるシェル) にログインしますが、次のようなアクションの結果として、ユーザーは多くのプロセスを実行することになります:
-> 非対話型タスクをバックグラウンドで実行しています。
-> ジョブ制御による対話型タスクの切り替え。
-> パイプを介して連携する複数のプロセスを開始します。
-> 複数の端末ウィンドウを開くことができる X ウィンドウ システムなどのウィンドウ システムの実行
2. これらすべてのプロセスを処理するために、カーネルはこれらのプロセスで構成されるプロセス グループを形成する必要があります。
3. これらのプロセス グループをユーザーごとにさらに管理するために、これらのグループはユーザーごとにセッションに分割されます。は 2 人の異なるユーザーを表し、ここでは 2 つの異なるユーザー セッションを表します。端末は単一のセッションに対してのみ端末を制御できます)。
その「ユーザー」またはセッションのシェルを実行しているプロセスは、セッション リーダーと呼ばれます。
4. また、「x」ボタンを押してターミナルを閉じても、そのターミナルから出られないことに注意してください。その端末はバックグラウンドで実行され続けます。ターミナルからセッションをオーバーしたい場合は、CTRL+D を押すか終了してそこからログアウトする必要があります。
5. ターミナルからログアウトすると、カーネルはセッション リーダーであるプロセスに SIGHUP シグナル (kill -1 と同様) を送信します。現在、ターミナルで実行されている他のすべてのプロセスは、このセッション リーダーの子です。これらの子プロセスは、このセッション リーダー プロセス (親プロセス) によって制御されるプロセス グループを形成していました。
6. セッション リーダー プロセスが各子プロセスに SIGHUP を送信し、一部のプロセスは終了しますが、一部のプロセスは終了しないことを選択できます (一時停止またはバックグラウンドで実行されているプロセス)。終了しないことを選択したものは、セッション オーバーとして孤立し、すぐに init プロセス (Linux マシンのすべてのプロセスの親) によって採用されます。
詳細については、Linux 開発のプロセス モデルのリンクを参照してください
すべての端末セッションはユーザー セッションだと思います。 X の下に複数の端末を持つことができ、それらは仮想端末です。または、コンソールの下に実際の端末を持つことができます。これらはすべてセッションです。これは私の 'w' です。
$ w
15:14:13 up 9 days, 6:02, 8 users, load average: 1,03, 1,19, 1,31
USER TTY [email protected] IDLE JCPU PCPU WHAT
argento :0 18set13 ?xdm? 2days 1.58s gdm-session-worker [pam/gdm-password]
argento pts/0 18set13 29:26m 5:26 5:26 rdesktop -g 1200x700 -u administrator -p XXXXXXXXX -d DOMAIN -K srv-wsus
argento pts/1 18set13 9days 0.16s 0.16s /bin/bash
argento pts/2 lun10 5.00s 0.09s 7.55s /usr/bin/python /usr/bin/terminator
argento pts/3 14:40 33:41 0.09s 0.03s vim notes.txt
argento pts/4 gio12 26:04m 0.10s 7.55s /usr/bin/python /usr/bin/terminator
argento pts/5 14:56 17:33 0.11s 0.11s /bin/bash
argento tty2 15:11 1:01 0.09s 0.09s -bash
2 番目の列は tty を示しています。pts は xterm (仮想端末) であり、もう一方 (tty2) はコンソール ログインです。