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


HUPシグナルは、デーモンプログラムによっては、プログラムの設定ファイルを変更した後その設定ファイルをプロセスに再度読み込ませて設定を反映させる為に用いられます。

ハングアップとは、動作中のコンピュータソフトウェアが機能を停止し、操作を受け付けなくなったり外部からの通信に応答しなくなること。

https://e-words.jp/w/%E3%83%8F%E3%83%B3%E3%82%B0%E3%82%A2%E3%83%83%E3%83%97.html


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を入力すると新規ウィンドウを開ける。

プレフィックスキー+%を入力すると左右に分割できる

screen

こちらのソフトウェアでも似たようなことができます。
プレフィックスキー <ctrl> + <a>
そのあとにSを入力すると以下の表示になる。

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、Kubuntu

  • xfce
    軽快なデスクトップ環境を提供

ディスプレイマネージャ

GUIでログイン画面を表示し、ユーザー認証を行うソフトウェア。

SSH(Secure SHell)

暗号化を用いたリモートホストの遠隔操作用のプロトコル。
SSHでは通信内容が暗号化されるので、暗号化されないtelnetより安全。

ホスト認証

SSHクライアントが接続先のリモートホスト(SSHサーバ)が正しいホストかどうかを確認する(なりすましを防ぐ)ために行います。

②でSSHクライアントが受け取った公開鍵とSSHクライアントが持ってる鍵を比較して正しいホストかどうかを確認している。
クライアントの認証鍵リストの場所「~/.ssh/known_hosts」

  1. SSHクライアントがSSHサーバにSSH接続

  2. サーバーから「/etc/ssh/ssh_host_rsa_key.pub」にある公開鍵を送る

  3. クライアントは「~/.ssh/known_hosts」にある認証鍵リストと比較する

  4. 正しければそのままログインする

ユーザー認証(公開鍵方式)

ユーザごとに一対の公開鍵と秘密鍵を作成して、公開鍵の方をSSHサーバの「~/.ssh/authorized_keys」に登録しておきます。サーバはSSH接続を受け付けた際、登録されている公開鍵とユーザの秘密鍵のペアが一致するかどうかを確認します。一致しなければログインさせません。これによりパスワード方式よりもセキュリティ上強固なユーザ認証を実現します。

SSHクライアント:「~/.ssh/id_rsa.pub」に公開鍵を保存
SSHサーバー:「~/.ssh/authorized_keys」公開鍵の登録先

参考画像

https://ping-t.com/


この記事が気に入ったらサポートをしてみませんか?