Linuc Lv1 メモ①プロセス、SSH接続
プロセスの生成、監視、終了
プロセスとは、起動中のプログラムをOSが管理する単位。
プロセスの監視
psコマンド プロセスを表示
ps -a 他のユーザのプロセスも表示
ps -a
PID TTY TIME CMD
2567 pts/1 00:00:00 su
2568 pts/1 00:00:00 bash
2596 pts/1 00:00:00 ps
ps -l 親プロセスのPID、プロセスの優先順位を決めるNICE値なども併せて表示
[root@localhost ken]# ps l
F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND
4 0 2949 2702 20 0 194088 2476 do_wai S pts/1 0:00 su
4 0 2950 2949 20 0 116604 3016 do_wai S pts/1 0:00 bash
0 0 3394 2950 20 0 153328 1524 - R+ pts/1 0:00 ps l
topコマンド 現在実行中のプロセスを継続的に監視する
終了時はQ
プロセスを終了
kill - [シグナル名またはシグナルID] PID
kill -s [シグナル名またはシグナルID] PID
kill -SIGシグナル名 PID
[root@localhost ken]# kill -15 560
[root@localhost ken]# kill -s 15 560
[root@localhost ken]# kill -TERM 560
[root@localhost ken]# kill -SIGTERM 560
![](https://assets.st-note.com/img/1686455902730-wG7CV9m9xC.png)
HUPシグナルは、デーモンプログラムによっては、プログラムの設定ファイルを変更した後その設定ファイルをプロセスに再度読み込ませて設定を反映させる為に用いられます。
ハングアップとは、動作中のコンピュータやソフトウェアが機能を停止し、操作を受け付けなくなったり外部からの通信に応答しなくなること。
killall - [シグナル名またはシグナルID] プロセス名
killall -s [シグナル名またはシグナルID] プロセス名
killall -SIGシグナル名 プロセス名
[root@localhost ken]# killall -s 15 vim
[root@localhost ken]# killall -SIGTERM vim
[root@localhost ken]# killall -15 vim
kill -l シグナル表の表示
[root@localhost ken]# kill -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP
6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1
11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM
16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP
21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ
26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR
31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3
38) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8
43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13
48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12
53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7
58) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2
63) SIGRTMAX-1 64) SIGRTMAX
pgrep [プロセス名] 指定のプロセスのPIDを調べる
pgrep -u [ユーザ名] プロセスの実行ユーザが「ユーザ名」であるプロセスのPIDを調べる
[root@localhost ken]# pgrep ps
45
984
[root@localhost ken]# pgrep -u ken
1627
1628
2485
2701
2702
ジョブ管理
バックグラウンドジョブの実行
jobs 実行中のジョブを確認
[root@localhost ken]# sleep 150 &
[2] 3094
[root@localhost ken]# jobs
[1]- 実行中 sleep 120 &
[2]+ 実行中 sleep 150 &
・末尾に&をつけるとバックグラウンドで実行
・ログアウトした後もプログラムを実行させたい場合は、「nohupコマンド」を実行
・Ctrl+Zで、フォアグラウンドのジョブを一時停止
端末の活用
端末上で複数の仮想端末を制御できるプログラム
一つの端末画面で複数のウィンドゥを作成し、切り替えて操作することができる。
tmux
プレフィックスキー(Ctrl+b)の後にキーを入力することで様々な操作ができる。
例えば、プレフィックスキー+cを入力すると新規ウィンドウを開ける。
![](https://assets.st-note.com/img/1689476260862-ox2dWK02b8.png?width=800)
プレフィックスキー+%を入力すると左右に分割できる
![](https://assets.st-note.com/img/1689476330756-ki71VJU2PZ.png?width=800)
screen
こちらのソフトウェアでも似たようなことができます。
プレフィックスキー <ctrl> + <a>
そのあとにSを入力すると以下の表示になる。
![](https://assets.st-note.com/img/1689476690475-FZ3xRDOgEW.png?width=800)
X Window System
LinuxカーネルにはGUIを実現する機能が備わっていない。
そのため、X Window System(X,X11)が使われてきた。
X.org
Wayland
X Window Systemの構成
Xサーバ
モニターやビデオカード、キーボード担当
Xクライアント
グラフィカルなインターフェース担当
ウィンドウマネージャ
X Window Systemの外観制御をしているソフトウェア。
twn 最小限の機能を備えてる
FVWM 軽快でシンプル
KWin KDEの標準ウィンドウマネージャ
統合デスクトップ環境
ウィンドウマネージャ、アプリケーションまで備えた環境。
GNOME
CentOS、Ubuntu、Fendoraなどで採用されている。KDE
openSUSE、Kubuntuxfce
軽快なデスクトップ環境を提供
ディスプレイマネージャ
GUIでログイン画面を表示し、ユーザー認証を行うソフトウェア。
SSH(Secure SHell)
暗号化を用いたリモートホストの遠隔操作用のプロトコル。
SSHでは通信内容が暗号化されるので、暗号化されないtelnetより安全。
ホスト認証
SSHクライアントが接続先のリモートホスト(SSHサーバ)が正しいホストかどうかを確認する(なりすましを防ぐ)ために行います。
![](https://assets.st-note.com/img/1689416871814-qmnv0cWOls.jpg)
②でSSHクライアントが受け取った公開鍵とSSHクライアントが持ってる鍵を比較して正しいホストかどうかを確認している。
クライアントの認証鍵リストの場所「~/.ssh/known_hosts」
SSHクライアントがSSHサーバにSSH接続
サーバーから「/etc/ssh/ssh_host_rsa_key.pub」にある公開鍵を送る
クライアントは「~/.ssh/known_hosts」にある認証鍵リストと比較する
正しければそのままログインする
ユーザー認証(公開鍵方式)
ユーザごとに一対の公開鍵と秘密鍵を作成して、公開鍵の方をSSHサーバの「~/.ssh/authorized_keys」に登録しておきます。サーバはSSH接続を受け付けた際、登録されている公開鍵とユーザの秘密鍵のペアが一致するかどうかを確認します。一致しなければログインさせません。これによりパスワード方式よりもセキュリティ上強固なユーザ認証を実現します。
![](https://assets.st-note.com/img/1689417962455-aabpjjib1z.png)
SSHクライアント:「~/.ssh/id_rsa.pub」に公開鍵を保存
SSHサーバー:「~/.ssh/authorized_keys」公開鍵の登録先
参考画像
![](https://assets.st-note.com/img/1689418654142-XwBioMejdY.jpg)
この記事が気に入ったらサポートをしてみませんか?