Linuxゲリラ戦記

プロセスの状態を見る。

11.現在実行されているプロセスを表示。psコマンド

ナックス「今回はプロセスの状況を表示するコマンド、psコマンドのご紹介です」

デビー君「はーい」

ナックス「まずはとりあえずpsとでも打ってみましょう」

$ ps

ナックス「どんな結果になりましたか?」

デビー君「こんな結果になりました」

$ ps
  PID TTY          TIME CMD
 3341 pts/1    00:00:00 bash
 3352 pts/1    00:00:00 ps

デビー君「前回のpstreeコマンドはもっとたくさんのプロセスが実行されているのが表示されたのに……」

ナックス「psコマンドはそのまま使ったらpsコマンドを実行した端末と結びつけられているプロセスしか表示されないそうです」

デビー君「端末?」

ナックス「実は、Linuxは同時に複数のCUI画面を使うことが出来ます。この画面の一つ一つのことを端末と言います。ここら辺の詳しい話は後日やる予定です。とりあえずそこは置いておいて、もっと他のプロセスも見たいのでオプションを使いましょう」

デビー君「オプション?」

ナックス「linuxコマンドの多くは、オプションをつけることで挙動を変更することが出来ます。オプションとは何か?百聞は一見に如かず。今回はaオプションを付けてみましょう」

$ ps a
$ ps a
  PID TTY      STAT   TIME COMMAND
 2628 tty7     Ss+    5:18 /usr/X11R6/bin/X :0 -audit 0 -auth /var/lib/gdm/:0.Xauth -nolisten tcp vt7
 2776 tty1     Ss+    0:00 /sbin/getty 38400 tty1
 2778 tty2     Ss+    0:00 /sbin/getty 38400 tty2
 2782 tty3     Ss+    0:00 /sbin/getty 38400 tty3
 2786 tty4     Ss+    0:00 /sbin/getty 38400 tty4
 2788 tty5     Ss+    0:00 /sbin/getty 38400 tty5
 2790 tty6     Ss+    0:00 /sbin/getty 38400 tty6
 3278 pts/0    Ss     0:00 bash
 3338 pts/0    S+     0:02 vim linux11.xhtml
 3341 pts/1    Ss     0:00 bash
 3402 pts/1    R+     0:00 ps a

ナックス「psの後に一つスペースを開けてaと入力し、実行しました。これは『psコマンドにaオプションをつけて実行した』ということです」

デビー君「さっきより結果が増えたね」

ナックス「はい。aオプションは『端末を持つ全てのプロセスの表示』というオプションです。が、端末を持たないプロセスも表示したいので、xオプションもつけてみます」

$ ps ax
$ ps ax
  PID TTY      STAT   TIME COMMAND
    1 ?        Ss     0:01 init [2]  
    2 ?        S<     0:00 [kthreadd]
    3 ?        S<     0:00 [migration/0]
    4 ?        S<     0:00 [ksoftirqd/0]
    5 ?        S<     0:00 [watchdog/0]
    6 ?        S<     0:00 [events/0]
    7 ?        S<     0:00 [khelper]
   39 ?        S<     0:00 [kblockd/0]
   41 ?        S<     0:00 [kacpid]
   42 ?        S<     0:00 [kacpi_notify]
  112 ?        S<     0:00 [kseriod]
  150 ?        S      0:00 [pdflush]
  151 ?        S<     0:00 [kswapd0]
  152 ?        S<     0:00 [aio/0]
  609 ?        S<     0:00 [ksuspend_usbd]
  610 ?        S<     0:00 [khubd]
  633 ?        S<     0:00 [ata/0]
  634 ?        S<     0:00 [ata_aux]
  804 ?        S<     0:00 [kjournald]
  880 ?        S<s    0:00 udevd --daemon
 1212 ?        S<     0:00 [pccardd]
 1215 ?        S<     0:09 [ath5k_pci]
 1322 ?        S<     0:00 [kpsmoused]
 1357 ?        S<     0:00 [kgameportd]
 1776 ?        Ss     0:00 /sbin/portmap
 1787 ?        Ss     0:00 /sbin/rpc.statd
 1983 ?        S<     0:00 [kondemand/0]
 2031 ?        Sl     0:00 /usr/sbin/rsyslogd -c3
 2042 ?        Ss     0:00 /usr/sbin/acpid
 2082 ?        Ss     0:00 /usr/bin/dbus-daemon --system
 2097 ?        Ss     0:00 avahi-daemon: running [debian.local]
 2098 ?        Ss     0:00 avahi-daemon: chroot helper
 2174 ?        Ss     0:00 /usr/sbin/cupsd
 2441 ?        Ss     0:00 /usr/sbin/exim4 -bd -q30m
 2451 ?        Ss     0:00 /usr/sbin/kerneloops
 2465 ?        Ss     0:00 /usr/sbin/dhcdbd --system
 2476 ?        Ss     0:00 /usr/sbin/hald
 2477 ?        S      0:00 hald-runner
 2495 ?        S      0:00 hald-addon-input: Listening on /dev/input/event1 /dev/input/event0 /dev/input/event2 /dev/input/event3 /dev/input/ev
 2499 ?        S      0:00 /usr/lib/hal/hald-addon-cpufreq
 2500 ?        S      0:00 hald-addon-acpi: listening on acpid socket /var/run/acpid.socket
 2509 ?        S      0:00 hald-addon-storage: polling /dev/hdc (every 2 sec)
 2517 ?        Ss     0:00 /usr/sbin/hcid -x -s
 2523 ?        S<     0:00 [btaddconn]
 2525 ?        S<     0:00 [btdelconn]
 2538 ?        S<     0:00 [krfcommd]
 2546 ?        Ssl    0:00 /usr/sbin/NetworkManager --pid-file /var/run/NetworkManager/NetworkManager.pid
 2554 ?        Ss     0:00 /usr/sbin/NetworkManagerDispatcher --pid-file /var/run/NetworkManager/NetworkManagerDispatcher.pid
 2604 ?        S      0:00 /sbin/dhclient -1 -lf /var/lib/dhcp3/dhclient.eth0.leases -pf /var/run/dhclient.eth0.pid -q -e dhc_dbus=31 -d eth0
 2612 ?        Ss     0:00 /usr/sbin/gdm
 2614 ?        S      0:00 /usr/sbin/gdm
 2622 ?        Ss     0:00 /usr/bin/system-tools-backends
 2628 tty7     Ss+    5:44 /usr/X11R6/bin/X :0 -audit 0 -auth /var/lib/gdm/:0.Xauth -nolisten tcp vt7
 2652 ?        Ss     0:00 /usr/sbin/atd
 2672 ?        Ss     0:00 /usr/sbin/cron
 2699 ?        Ss     0:00 /usr/sbin/apache2 -k start
 2776 tty1     Ss+    0:00 /sbin/getty 38400 tty1
 2778 tty2     Ss+    0:00 /sbin/getty 38400 tty2
 2782 tty3     Ss+    0:00 /sbin/getty 38400 tty3
 2786 tty4     Ss+    0:00 /sbin/getty 38400 tty4
 2788 tty5     Ss+    0:00 /sbin/getty 38400 tty5
 2790 tty6     Ss+    0:00 /sbin/getty 38400 tty6
 2838 ?        S      0:01 /usr/lib/libgconf2-4/gconfd-2 11
 2840 ?        S      0:00 /usr/bin/gnome-keyring-daemon -d --login
 2841 ?        Ssl    0:00 x-session-manager
 2889 ?        S      0:00 /usr/bin/uim-xim
 2890 ?        S      0:00 /bin/sh /etc/gdm/Xsession default
 2894 ?        S      0:00 /usr/lib/uim/uim-helper-server
 2897 ?        S      0:00 /usr/bin/dbus-launch --exit-with-session /usr/bin/seahorse-agent --execute x-session-manager
 2898 ?        Ss     0:00 /usr/bin/dbus-daemon --fork --print-pid 6 --print-address 9 --session
 2904 ?        Ss     0:00 /usr/bin/seahorse-agent --execute x-session-manager
 2907 ?        Sl     0:00 gnome-settings-daemon
 2926 ?        S      0:05 /usr/bin/metacity --sm-client-id=default0
 2927 ?        S      0:04 gnome-panel --sm-client-id default1
 2929 ?        S      0:00 nautilus --no-default-window --sm-client-id default2
 2931 ?        Ss     0:04 gnome-screensaver
 2937 ?        Ssl    0:00 /usr/lib/bonobo-activation/bonobo-activation-server --ac-activate --ior-output-fd=16
 2939 ?        S      0:00 bluetooth-applet --singleton
 2942 ?        S      0:00 update-notifier
 2947 ?        S      0:00 /usr/bin/python /usr/bin/system-config-printer-applet
 2949 ?        S      0:00 python /usr/share/screenlets-manager/screenlets-daemon.py
 2951 ?        S      0:00 kerneloops-applet
 2952 ?        Ss     0:00 /usr/lib/gnome-volume-manager/gnome-volume-manager --sm-disable
 2954 ?        S      0:00 /usr/lib/gnome-vfs-2.0/gnome-vfs-daemon
 2955 ?        S      0:00 python -u /usr/share/screenlets/Notes/NotesScreenlet.py
 2956 ?        S      0:01 nm-applet --sm-disable
 2959 ?        Ss     0:00 gnome-power-manager
 2965 ?        S      0:02 uim-toolbar-gtk
 2983 ?        S      0:00 /usr/lib/nautilus-cd-burner/mapping-daemon
 3013 ?        Sl     0:00 /usr/lib/gnome-applets/mixer_applet2 --oaf-activate-iid=OAFIID:GNOME_MixerApplet_Factory --oaf-ior-fd=19
 3129 ?        S      0:00 [pdflush]
 3197 ?        S      0:00 /usr/sbin/apache2 -k start
 3198 ?        S      0:00 /usr/sbin/apache2 -k start
 3199 ?        S      0:00 /usr/sbin/apache2 -k start
 3200 ?        S      0:00 /usr/sbin/apache2 -k start
 3201 ?        S      0:00 /usr/sbin/apache2 -k start
 3275 ?        Sl     0:26 gnome-terminal
 3277 ?        S      0:00 gnome-pty-helper
 3278 pts/0    Ss     0:00 bash
 3338 pts/0    S+     0:04 vim linux11.xhtml
 3341 pts/1    Rs     0:00 bash
 3354 ?        Sl     0:14 /usr/lib/iceweasel/firefox-bin -a iceweasel
 3429 pts/1    R+     0:00 ps ax

デビー君「うわ!一気に結果が増えたね」

ナックス「はい。これで全てのプロセスが表示されていることになります。が!psコマンドで全てのプロセスを表示したい時は、一般的にはuオプション(実行ユーザーID、または実行ユーザー名を表示)も使ってauxとする事が多いそうです。つまり、こう!」

$ ps aux
$ ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.2   2100   572 ?        Ss   20:33   0:01 init [2]  
root         2  0.0  0.0      0     0 ?        S<   20:33   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        S<   20:33   0:00 [migration/0]
root         4  0.0  0.0      0     0 ?        S<   20:33   0:00 [ksoftirqd/0]
root         5  0.0  0.0      0     0 ?        S<   20:33   0:00 [watchdog/0]
root         6  0.0  0.0      0     0 ?        S<   20:33   0:01 [events/0]
root         7  0.0  0.0      0     0 ?        S<   20:33   0:00 [khelper]
root        39  0.0  0.0      0     0 ?        S<   20:33   0:00 [kblockd/0]
root        41  0.0  0.0      0     0 ?        S<   20:33   0:00 [kacpid]
root        42  0.0  0.0      0     0 ?        S<   20:33   0:00 [kacpi_notify]
root       112  0.0  0.0      0     0 ?        S<   20:33   0:00 [kseriod]
root       150  0.0  0.0      0     0 ?        S    20:33   0:00 [pdflush]
root       151  0.0  0.0      0     0 ?        S<   20:33   0:00 [kswapd0]
root       152  0.0  0.0      0     0 ?        S<   20:33   0:00 [aio/0]
root       609  0.0  0.0      0     0 ?        S<   20:33   0:00 [ksuspend_usbd]
root       610  0.0  0.0      0     0 ?        S<   20:33   0:00 [khubd]
root       633  0.0  0.0      0     0 ?        S<   20:33   0:00 [ata/0]
root       634  0.0  0.0      0     0 ?        S<   20:33   0:00 [ata_aux]
root       804  0.0  0.0      0     0 ?        S<   20:33   0:00 [kjournald]
root       880  0.0  0.1   3080   428 ?        S<s  20:33   0:00 udevd --daemon
root      1212  0.0  0.0      0     0 ?        S<   20:33   0:00 [pccardd]
root      1215  0.3  0.0      0     0 ?        S<   20:33   0:10 [ath5k_pci]
root      1322  0.0  0.0      0     0 ?        S<   20:33   0:00 [kpsmoused]
root      1357  0.0  0.0      0     0 ?        S<   20:33   0:00 [kgameportd]
daemon    1776  0.0  0.1   1892   368 ?        Ss   20:33   0:00 /sbin/portmap
statd     1787  0.0  0.2   1956   564 ?        Ss   20:33   0:00 /sbin/rpc.statd
root      1983  0.0  0.0      0     0 ?        S<   20:33   0:00 [kondemand/0]
root      2031  0.0  0.5  27404  1248 ?        Sl   20:33   0:00 /usr/sbin/rsyslogd -c3
root      2042  0.0  0.2   2292   528 ?        Ss   20:33   0:00 /usr/sbin/acpid
103       2082  0.0  0.5   2884  1160 ?        Ss   20:33   0:00 /usr/bin/dbus-daemon --system
avahi     2097  0.0  0.4   2988  1104 ?        Ss   20:33   0:00 avahi-daemon: running [debian.local]
avahi     2098  0.0  0.1   2884   248 ?        Ss   20:33   0:00 avahi-daemon: chroot helper
root      2174  0.0  0.6   6344  1472 ?        Ss   20:33   0:00 /usr/sbin/cupsd
101       2441  0.0  0.2   6296   552 ?        Ss   20:33   0:00 /usr/sbin/exim4 -bd -q30m
root      2451  0.0  0.3   6704   752 ?        Ss   20:33   0:00 /usr/sbin/kerneloops
root      2465  0.0  0.3   2052   716 ?        Ss   20:33   0:00 /usr/sbin/dhcdbd --system
107       2476  0.0  0.7   5920  1688 ?        Ss   20:33   0:00 /usr/sbin/hald
root      2477  0.0  0.3   3324   848 ?        S    20:33   0:00 hald-runner
root      2495  0.0  0.3   3388   860 ?        S    20:33   0:00 hald-addon-input: Listening on /dev/input/event1 /dev/input/event0 /dev/input/
root      2499  0.0  0.4   3400   932 ?        S    20:33   0:00 /usr/lib/hal/hald-addon-cpufreq
107       2500  0.0  0.3   2272   672 ?        S    20:33   0:00 hald-addon-acpi: listening on acpid socket /var/run/acpid.socket
root      2509  0.0  0.3   3388   848 ?        S    20:33   0:00 hald-addon-storage: polling /dev/hdc (every 2 sec)
root      2517  0.0  0.4   3248   940 ?        Ss   20:33   0:00 /usr/sbin/hcid -x -s
root      2523  0.0  0.0      0     0 ?        S<   20:33   0:00 [btaddconn]
root      2525  0.0  0.0      0     0 ?        S<   20:33   0:00 [btdelconn]
root      2538  0.0  0.0      0     0 ?        S<   20:33   0:00 [krfcommd]
root      2546  0.0  0.7  21172  1764 ?        Ssl  20:33   0:00 /usr/sbin/NetworkManager --pid-file /var/run/NetworkManager/NetworkManager.pid
root      2554  0.0  0.5   3508  1152 ?        Ss   20:33   0:00 /usr/sbin/NetworkManagerDispatcher --pid-file /var/run/NetworkManager/NetworkM
root      2604  0.0  0.2   2180   556 ?        S    20:33   0:00 /sbin/dhclient -1 -lf /var/lib/dhcp3/dhclient.eth0.leases -pf /var/run/dhclien
root      2612  0.0  0.5  14176  1156 ?        Ss   20:33   0:00 /usr/sbin/gdm
root      2614  0.0  0.7  14688  1784 ?        S    20:33   0:00 /usr/sbin/gdm
root      2622  0.0  0.3   3852   800 ?        Ss   20:33   0:00 /usr/bin/system-tools-backends
root      2628 14.3 10.5  34820 23664 tty7     Rs+  20:33   6:37 /usr/X11R6/bin/X :0 -audit 0 -auth /var/lib/gdm/:0.Xauth -nolisten tcp vt7
daemon    2652  0.0  0.1   2048   300 ?        Ss   20:33   0:00 /usr/sbin/atd
root      2672  0.0  0.3   3252   780 ?        Ss   20:33   0:00 /usr/sbin/cron
root      2699  0.0  2.8  21300  6356 ?        Ss   20:34   0:00 /usr/sbin/apache2 -k start
root      2776  0.0  0.1   1764   420 tty1     Ss+  20:34   0:00 /sbin/getty 38400 tty1
root      2778  0.0  0.1   1764   420 tty2     Ss+  20:34   0:00 /sbin/getty 38400 tty2
root      2782  0.0  0.1   1764   420 tty3     Ss+  20:34   0:00 /sbin/getty 38400 tty3
root      2786  0.0  0.1   1764   420 tty4     Ss+  20:34   0:00 /sbin/getty 38400 tty4
root      2788  0.0  0.1   1764   420 tty5     Ss+  20:34   0:00 /sbin/getty 38400 tty5
root      2790  0.0  0.1   1764   420 tty6     Ss+  20:34   0:00 /sbin/getty 38400 tty6
debby  2838  0.0  1.2   7208  2796 ?        S    20:37   0:01 /usr/lib/libgconf2-4/gconfd-2 11
debby  2840  0.0  0.6  14588  1436 ?        S    20:37   0:00 /usr/bin/gnome-keyring-daemon -d --login
debby  2841  0.0  1.9  28228  4280 ?        Ssl  20:37   0:00 x-session-manager
debby  2889  0.0  0.6   7584  1556 ?        S    20:37   0:00 /usr/bin/uim-xim
debby  2890  0.0  0.1   4196   292 ?        S    20:37   0:00 /bin/sh /etc/gdm/Xsession default
debby  2894  0.0  0.2   1992   528 ?        S    20:37   0:00 /usr/lib/uim/uim-helper-server
debby  2897  0.0  0.1   3100   432 ?        S    20:37   0:00 /usr/bin/dbus-launch --exit-with-session /usr/bin/seahorse-agent --execute x-s
debby  2898  0.0  0.3   2620   708 ?        Ss   20:37   0:00 /usr/bin/dbus-daemon --fork --print-pid 6 --print-address 9 --session
debby  2904  0.0  1.9  24080  4364 ?        Ss   20:37   0:00 /usr/bin/seahorse-agent --execute x-session-manager
debby  2907  0.0  2.2  44664  4980 ?        Sl   20:37   0:01 gnome-settings-daemon
debby  2926  0.2  4.3  24864  9840 ?        S    20:37   0:06 /usr/bin/metacity --sm-client-id=default0
debby  2927  0.1  6.4  40716 14368 ?        S    20:37   0:04 gnome-panel --sm-client-id default1
debby  2929  0.0  3.9  76312  8944 ?        S    20:37   0:00 nautilus --no-default-window --sm-client-id default2
debby  2931  0.1  0.8  15416  1872 ?        Ss   20:37   0:04 gnome-screensaver
debby  2937  0.0  0.9  41376  2156 ?        Ssl  20:37   0:00 /usr/lib/bonobo-activation/bonobo-activation-server --ac-activate --ior-output
debby  2939  0.0  1.7  14836  3936 ?        S    20:37   0:00 bluetooth-applet --singleton
debby  2942  0.0  3.8  46160  8696 ?        S    20:37   0:00 update-notifier
debby  2947  0.0  1.4  24624  3296 ?        S    20:37   0:00 /usr/bin/python /usr/bin/system-config-printer-applet
debby  2949  0.0  2.2  30528  5088 ?        S    20:37   0:00 python /usr/share/screenlets-manager/screenlets-daemon.py
debby  2951  0.0  1.4  14232  3312 ?        S    20:37   0:00 kerneloops-applet
debby  2952  0.0  1.5  19868  3452 ?        Ss   20:37   0:00 /usr/lib/gnome-volume-manager/gnome-volume-manager --sm-disable
debby  2954  0.0  1.1  10020  2468 ?        S    20:37   0:00 /usr/lib/gnome-vfs-2.0/gnome-vfs-daemon
debby  2955  0.0  3.5  38028  7920 ?        S    20:37   0:00 python -u /usr/share/screenlets/Notes/NotesScreenlet.py
debby  2956  0.0  2.4  22708  5496 ?        S    20:37   0:02 nm-applet --sm-disable
debby  2959  0.0  1.9  22996  4292 ?        Ss   20:37   0:00 gnome-power-manager
debby  2965  0.1  2.3  16204  5156 ?        S    20:37   0:03 uim-toolbar-gtk
debby  2983  0.0  0.3   2880   752 ?        S    20:37   0:00 /usr/lib/nautilus-cd-burner/mapping-daemon
debby  3013  0.0  2.7  37320  6060 ?        Sl   20:37   0:00 /usr/lib/gnome-applets/mixer_applet2 --oaf-activate-iid=OAFIID:GNOME_MixerAppl
root      3129  0.0  0.0      0     0 ?        S    20:41   0:00 [pdflush]
www-data  3197  0.0  1.4  21300  3144 ?        S    20:41   0:00 /usr/sbin/apache2 -k start
www-data  3198  0.0  1.4  21300  3144 ?        S    20:41   0:00 /usr/sbin/apache2 -k start
www-data  3199  0.0  1.4  21300  3144 ?        S    20:41   0:00 /usr/sbin/apache2 -k start
www-data  3200  0.0  1.4  21300  3144 ?        S    20:41   0:00 /usr/sbin/apache2 -k start
www-data  3201  0.0  1.4  21300  3144 ?        S    20:41   0:00 /usr/sbin/apache2 -k start
debby  3275  1.9 15.8 119276 35500 ?        Sl   20:51   0:32 gnome-terminal
debby  3277  0.0  0.3   2880   740 ?        S    20:51   0:00 gnome-pty-helper
debby  3278  0.0  1.4   5680  3160 pts/0    Ss   20:51   0:00 bash
debby  3338  0.3  1.5   6320  3544 pts/0    S+   20:52   0:05 vim linux11.xhtml
debby  3341  0.0  1.4   5680  3136 pts/1    Ss   20:55   0:00 bash
debby  3354  1.2 24.8 201216 55652 ?        Sl   20:56   0:17 /usr/lib/iceweasel/firefox-bin -a iceweasel
debby  3453  0.0  0.4   3512  1024 pts/1    R+   21:20   0:00 ps aux

デビー君「お!左端にユーザー名が表示されてる!」

ナックス「そうですね。中には『こんなユーザー名の人は僕のLinuxを使っていないはずなんだけど……』っていう名前もあるかと思いますが、それはプログラムさん(?)の名前です。ちなみに、一番右が、実行されたプロセスを表しています」

ナックス「さて!初心者のLinuxユーザーの皆さんに知っておいてほしいことはこのリストの詳しい見方ではなく、ただ一つ『全てのプロセスには番号が振られている』ということを知っておいてほしいのです」

デビー君「番号?」

ナックス「そうです。項目で言えばPIDとなっているところですね。おそらくPIDはプロセスIDという意味でしょう。ps axの例では一番左の番号。ps auxの例では左から2番め(ユーザー名の隣)にある番号です。Linuxでは全てのプロセスに、他のプロセスの番号とは絶対に被らないように割り振られた番号があります。番号の数字が小さいほど、Linuxが起動してすぐに実行されたプロセスであることを意味し、逆に番号の数字が大きいほど、あとから実行されたプロセスであることを意味します」

デビー君「へー。あ!言われてみれば前回のpstreeの説明のときにinitは全てのプロセスの親玉っていっていたけど、psコマンドでは番号1が割り振られてるね」

ナックス「そうです。このことから、Linuxでは起動時にまずinitプロセスが作動することが分かります。ちなみに『絶対に被らないように割り振られた番号』のことをユニーク(一意)な番号と言います。『ユニークな』とか『一意に定まる』とか言う言葉は、Linuxやプログラミングなどで良く使われる言い回しなので、覚えておいて損はないでしょう」

デビー君「はーい。──でも、なんでLinuxの初心者ユーザーにこんなプロセス番号のことを教えるの?」

ナックス「『LinuxはWindowsと違ってソフトウェアがフリーズしない(動かなくならない)』という都市伝説がありますが、実はLinuxのソフトでもフリーズする(動かなくなる)ことがあります。ただ、Linuxの場合は動かなくなったプログラムをCUIのコマンドから強制終了させることができます。結果としてフリーズを簡単に解くことが出来るので、巡り巡って『LinuxはWindowsと違ってソフトウェアがフリーズしない』という都市伝説になったのだと思いますが。その動かなくなったプログラムを特定して強制終了させる方法を今後、段階を踏んで少しずつ説明しようという魂胆です」

デビー君「なるほど」

ナックス「というわけで、次回!これが本当のCUI環境だ!

このエントリーをはてなブックマークに追加