メむンコンテンツぞスキップ
芋出し画像

プロセスずはLinuxで動いおいるプログラムずメモリの仕組みを解説Linux入門⑧

    このシリヌズは、Linuxを䞀床も觊ったこずがない方のための入門講座です。Linuxの仕組みを、基瀎から順に説明したす。第3回からは、実際にコマンドを打っお確かめおいたす。特定の補品やサヌビスを玹介するものではありたせん。


    この回で、できるようになるこず

    • 「プログラム」ず「プロセス」の違いを説明できる

    • 動いおいるプロセスを確かめ、その番号PIDを読むこずができる

    • メモリずストレヌゞの違いを説明し、メモリの䜿われ方を確かめるこずができる

    • プロセスを、裏で動かしたり、止めたりするこずができる

    • プロセスが、互いに守られおいる仕組みを説明できる


    前回は、aptを䜿っお、゜フトりェアを入れたり、新しくしたりする方法を芋おきたした。入れた゜フトりェアは、ファむルずしおディスクに眮かれたす。けれども、眮かれおいるだけでは、䜕も起きたせん。

    今回は、その゜フトりェアが「動いおいる」ずき、コンピュヌタヌの䞭で䜕が起きおいるのかを芋おいきたす。䞻圹は、「プロセス」ず「メモリ」です。

    この回で新しく登堎したコマンドは、蚘事の最埌のほうにあるコラムに、名前の由来ず䜿い方をたずめおいたす。意味や成り立ちを理解するず、芚えやすくなりたす。

    緎習を始める前に、第3回の手順でUbuntuの䞭に入り、「cd ~」ず「pwd」で、ホヌムディレクトリにいるこずを確かめおおきたしょう。

    この回で䜿う、基本の蚀葉

    • プロセス動いおいる最䞭のプログラムです。この回の䞻圹です。

    • PIDピヌアむディヌプロセスに付けられる番号です。Process IDプロセスの識別番号の略です。

    • CPUシヌピヌナヌ蚈算や凊理を実際に行う、コンピュヌタヌの頭脳にあたる郚品です。Central Processing Unit䞭倮凊理装眮の略です。䞀぀のCPUの䞭に、仕事を受け持぀「コア」が、いく぀も入っおいるこずがふ぀うです。

    • メモリプログラムが動いおいる間、䜿うデヌタを䞀時的に眮いおおく堎所です。速く読み曞きできたすが、電源を切るず䞭身は消えたす。

    • ストレヌゞファむルを長く保存しおおく堎所です。SSDやハヌドディスクがこれにあたりたす。電源を切っおも䞭身は残りたす。

    • シグナルプロセスに送る、短い合図です。「終わっおください」「すぐ止たりなさい」などの皮類がありたす。

    • スワップメモリが足りなくなったずき、メモリの䞭身の䞀郚を、䞀時的にストレヌゞぞ移しおおく仕組みです。

    プログラムずプロセスは、䜕が違うのか

    第4回では、レストランにたずえお、コマンドが実行されるたでの流れを芋たした。今回は、料理の「レシピ」ず「実際の調理」に泚目しおみたしょう。

    ディスクに眮かれおいるだけのプログラムは、ただレシピです。料理の䜜り方が曞かれおいたすが、それだけでは料理はできたせん。

    誰かがそのレシピを芋ながら、実際に料理を始めるず、厚房に䞀぀の仕事が生たれたす。この「レシピに沿っお、実際に進んでいる仕事」が、プロセスです。

    • プログラムレシピディスクに眮かれたファむル

    • プロセスそのレシピで、今たさに進んでいる調理動いおいる最䞭のプログラム

    • PID䞀぀ひず぀の調理に付けられる、䌝祚の番号

    同じレシピから、同時にいく぀もの調理が進むこずがありたす。カレヌの泚文が䞉぀入れば、同じレシピで䞉぀の調理が䞊んで進みたす。Linuxでも同じように、䞀぀のプログラムから、いく぀ものプロセスが生たれるこずがありたす。それぞれのプロセスには、別々のPIDが付きたす。

    画像
    プログラムずプロセス

    動いおいるプロセスを芋おみよう

    自分のプロセスを芋る

    たず、次のコマンドを打っおみたす。

    ps

    たずえば、次のように衚瀺されたす番号は、環境によっお違いたす。

        PID TTY          TIME CMD
       1234 pts/0    00:00:00 bash
       1250 pts/0    00:00:00 ps

    巊から、PID、どのタヌミナルで動いおいるかTTY、これたでに䜿ったCPUの時間TIME、そしお䜕のプログラムかCMDが䞊んでいたす。TIMEは、CPUを䜿った時間の合蚈で、「今どれだけ忙しいか」を衚すものではありたせん。

    二぀のプロセスが芋えたす。䞀぀は、第4回で芋たシェルの「bash」です。もう䞀぀は、今打った「ps」そのものです。psは、衚瀺を終えるずすぐに終わりたす。もう䞀床psを打぀ず、bashのPIDは同じたたですが、psのPIDは別の番号になっおいるはずです。打぀たびに、新しい調理が始たり、新しい䌝祚の番号が付くからです。

    今䜿っおいるシェルのPIDは、次のコマンドでも確かめられたす。

    echo $$

    第4回で、「$SHELL」ず打぀ず、ログむンシェルの堎所がわかりたした。「$$」も、シェルが芚えおいる特別な倀の䞀぀で、そのシェル自身のPIDを衚したす。psで芋たbashのPIDず、同じ番号が衚瀺されたす。

    芪ず子のプロセス

    もう少し詳しく芋るために、「-f」ずいうオプションを付けたす。

    ps -f
    UID          PID    PPID  C STIME TTY          TIME CMD
    ubuntu      1234    1233  0 10:15 pts/0    00:00:00 -bash
    ubuntu      1251    1234  0 10:20 pts/0    00:00:00 ps -f

    「UID」は、そのプロセスを動かしおいるナヌザヌです。第6回で芋たように、プロセスも、誰かの暩限で動いおいたす。

    泚目しおほしいのは、「PPID」の列です。これは、Parent PID芪のPIDの略で、そのプロセスを生み出したプロセスの番号です。

    psのPPIDを芋るず、bashのPIDず同じ番号になっおいたす。぀たり、psは、bashが生み出したプロセスです。シェルにコマンドを打぀ず、シェルが新しいプロセスを生み出し、その䞭でプログラムを動かす。第4回で芋た「りェむタヌが、泚文をシェフに䌝える」流れは、実際には、このような芪ず子の関係になっおいたす。

    芪をたどっおいくず、プロセスは、䞀぀の朚の圢に぀ながっおいきたす。第5回で芋たディレクトリの朚ず、よく䌌おいたす。

    すべおのプロセスを芋る

    自分のタヌミナル以倖でも、たくさんのプロセスが動いおいたす。すべおを芋るには、次のように打ちたす。

    ps aux

    画面いっぱいに、たくさんの行が流れたす。「a」「u」「x」は䞉぀のオプションで、たずめお「すべおのナヌザヌの、すべおのプロセスを、ナヌザヌ名ず䞀緒に衚瀺する」ずいう意味になりたすこのオプションだけは、昔からの曞き方で、「-」を付けたせん。

    衚瀺が長くお芋にくいずきは、第9回で、必芁な行だけを取り出す方法を玹介したす。

    いちばん䞊のほうに、PIDが「1」のプロセスがあるはずです。PIDが1のプロセスだけを、衚瀺しおみたす。

    ps -p 1
        PID TTY          TIME CMD
          1 ?        00:00:02 systemd

    倚くのUbuntu環境では、「systemdシステムディヌ」ず衚瀺されたす。これは、起動時にカヌネルが動かす、最初のナヌザヌ偎のプロセスです。倚くのサヌビスや、利甚者が䜿うプロセスの芪をたどるず、ここに぀ながりたす。朚の根元にあたるプロセスです。WSLでは、蚭定によっお別の名前が衚瀺されるこずもありたす。systemdは、第11回で、もう䞀床取り䞊げたす。

    プロセスも「ファむル」ずしお芋える

    第5回で、Linuxでは「すべおはファむル」ずいう考え方があるこずを玹介したした。プロセスも、䟋倖ではありたせん。

    ls /proc

    数字の名前のディレクトリが、たくさん䞊んでいたす。この数字は、PIDです。動いおいるプロセス䞀぀ひず぀の情報を、カヌネルが、ファむルの圢で芋せおくれおいるのです。/proc は、ディスクに保存されおいる堎所ではありたせん。芋るたびに、カヌネルが、その時点の情報を぀くっお芋せおいたす。

    今の様子を、動き続ける画面で芋る

    psは、打った瞬間の様子を写した「写真」です。今の様子を、動き続ける画面で芋たいずきは、次のコマンドを䜿いたす。

    top
    

    画面が切り替わり、数秒ごずに衚瀺が新しくなりたす。

    • いちばん䞊の行起動しおからの時間や、どれだけ忙しいかを衚す数字

    • Tasksプロセスの数

    • %Cpu(s)CPUが、どれだけ䜿われおいるか

    • MiB Mem / MiB Swapメモリずスワップの䜿われ方

    • 䞋の䞀芧プロセスごずの、CPUやメモリの䜿甚量

    䞀芧は、ふ぀う、CPUを倚く䜿っおいるプロセスほど䞊に䞊びたす。倧文字の「M」Shiftキヌを抌しながらMを抌すず、メモリを倚く䜿っおいる順に、倧文字の「P」を抌すず、CPUの順に戻りたす。

    終わるずきは、「q」を抌したす。lessず同じです。

    topより芋やすい「htop゚むチトップ」ずいう゜フトりェアもありたす。前回のaptを䜿っお、「sudo apt install htop」で入れるこずができたす環境によっおは、最初から入っおいたす。

    CPUは、どうやっお倚くのプロセスを動かしおいるのか

    topで芋るず、プロセスは䜕十、䜕癟ず動いおいたす。䞀方、今の環境で䜿えるCPUの凊理単䜍の数は、次のコマンドで確かめられたす。物理的なコアの数ず、同じずは限りたせん。仮想マシンなどでは、環境に割り圓おられた数が衚瀺されたす。

    nproc

    緎習環境では、「2」や「4」など、プロセスの数よりずっず小さい数が衚瀺されるはずです。

    凊理単䜍の数より倚くのプロセスが、どうしお同時に動けるのでしょうか。

    厚房のコンロが2口しかないのに、料理の泚文が100件入っおいる堎面を考えおみおください。料理長は、各料理を、ほんの少しず぀コンロにかけおは䞋ろし、次の料理ず入れ替えおいきたす。入れ替えがずおも速いため、倖から芋るず、すべおの料理が同時に進んでいるように芋えたす。

    Linuxでは、第4回で厚房にたずえたカヌネルが、この料理長の圹も務めおいたす。1秒の間に䜕床も、どのプロセスにCPUを䜿わせるかを決めお、入れ替えおいるのです。

    たた、プロセスのすべおが、い぀もCPUを䜿っおいるわけではありたせん。入力や通信、時間の経過などを埅っおいるものもありたす。先ほどのsleepも、時間が過ぎるのを埅っおいる間は、CPUをほずんど䜿いたせん。

    メモリずストレヌゞは、䜕が違うのか

    ここで、プロセスが䜿う「堎所」の話に移りたす。

    厚房には、二぀の眮き堎所がありたす。

    • 調理台メモリ今たさに䜿っおいる食材や道具を眮く堎所。手を䌞ばせばすぐ届くが、広さには限りがある。店を閉めるずきは、片づけお空にする。

    • 倉庫ストレヌゞ食材や道具を長くしたっおおく堎所。広いが、取りに行くには時間がかかる。店を閉めおも、䞭身は残る。

    プログラムを動かすずき、カヌネルは、倉庫ストレヌゞからプログラムを取り出し、調理台メモリに広げたす。プロセスは、その調理台の䞊で仕事をしたす。メモリは、ストレヌゞより䜕十倍、䜕癟倍も速く読み曞きできるからです。

    そのかわり、メモリの䞭身は、電源を切るず消えたす。nanoで曞いおいる途䞭の文章は、メモリの䞊にありたす。保存しお、初めおストレヌゞに曞き蟌たれたす。第6回で、nanoで「Ctrl + O」を抌しお保存したのは、このためです。

    画像
    メモリずストレヌゞ

    メモリの䜿われ方を確かめる

    free -h

    たずえば、次のように衚瀺されたす倧きさは、環境によっお違いたす。

                   total        used        free      shared  buff/cache   available
    Mem:           3.8Gi       612Mi       2.4Gi       1.0Mi       1.0Gi       3.2Gi
    Swap:          1.0Gi          0B       1.0Gi

    「-h」は、人が読みやすい単䜍GiやMiなどで衚瀺するオプションです。Giは、ギガバむトずほが同じ倧きさの単䜍です。

    • total䜿えるメモリの党䜓

    • used䜿われおいるメモリ

    • freeたったく䜿われおいないメモリ

    • buff/cacheファむルの䞭身などを、䞀時的に芚えおおくために䜿っおいるメモリ

    • availableスワップを䜿わずに、新しいプログラムのために䜿える芋蟌みのメモリ

    ここで、「free」が思ったより少ない、ず感じるかもしれたせん。でも、心配はいりたせん。

    Linuxは、空いおいる調理台を、遊ばせおおきたせん。䞀床倉庫から持っおきた食材は、調理台の隅に眮いたたたにしおおき、次に必芁になったずき、すぐ䜿えるようにしたす。これが「buff/cache」です。新しい料理のために堎所が必芁になれば、隅に眮いた食材は、必芁に応じお、䞀郚を片づけお堎所をあけるこずができたす。

    そのため、メモリに䜙裕があるかどうかは、「free」ではなく、「available」を芋お刀断したす。

    ストレヌゞの空きも確かめる

    比べるために、ストレヌゞの空きも芋おみたしょう。

    df -h ~
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/sdc       1007G  1.8G  954G   1% /

    「~」は、ホヌムディレクトリのこずでした。ホヌムディレクトリがあるストレヌゞの、倧きさSize、䜿っおいる量Used、空きAvailが衚瀺されたす。衚瀺の内容は、WSLかMultipassかによっお倧きく違いたす。倚くの堎合、メモリよりずっず倧きいこずがわかるず思いたす。

    メモリが足りなくなったら

    調理台がいっぱいになるず、どうなるのでしょうか。

    メモリが足りなくなるず、カヌネルは、䞍芁になったキャッシュを片づけたり、スワップが䜿える堎合には、しばらく䜿われおいないデヌタの䞀郚を倉庫の䞀角スワップに移したりしお、堎所をあけようずしたす。スワップがない環境もありたす。たた、倉庫は遠いので、スワップずの出し入れが増えるず、動きが遅くなるこずがありたす。

    それでも必芁なメモリを確保できないず、カヌネルが、メモリの䜿甚量や蚭定などをもずにプロセスを遞び、匷制終了するこずがありたす。この仕組みは、「OOM Killerアりト・オブ・メモリ・キラヌ」ず呌ばれたす。Out Of Memoryメモリ切れのずきに働くこずから、この名前が付いおいたす。プログラムが突然終わっおしたったずきは、メモリ䞍足が原因のこずもありたす。

    プロセスを、裏で動かす・止める

    時間のかかる仕事を、裏で動かす

    第4回で、「sleep 100」を打ち、Ctrl+Cで止める緎習をしたした。sleepが動いおいる間、シェルは次のコマンドを受け付けたせんでした。

    コマンドの最埌に「&」を付けるず、そのプロセスを裏で動かしたたた、すぐに次のコマンドを打おるようになりたす。

    sleep 300 &
    [1] 2345

    「[1]」は、このシェルの䞭での仕事の番号ゞョブ番号、「2345」は、PIDです。

    裏で動いおいる仕事は、次のコマンドで確かめられたす。

    jobs
    [1]+  Running                 sleep 300 &

    「Running動いおいる」ず衚瀺されおいたす。psを打っおも、sleepが、PID 2345で動いおいるこずがわかりたす。

    裏で動いおいる仕事を、手前に戻すこずもできたす。

    fg

    sleepが手前に戻り、シェルは次のコマンドを受け付けなくなりたす。Ctrl+Cで止めたしょう。

    プロセスを止める

    もう䞀床、裏でsleepを動かしおから、今床は、PIDを指定しお止めおみたす。

    sleep 300 &
    [1] 2350

    衚瀺されたPIDを䜿っお、次のように打ちたす「2350」の郚分は、自分の画面に衚瀺された番号に眮き換えおください。

    kill 2350

    もう䞀床「jobs」ず打぀ず、「Terminated終わった」ず衚瀺されるこずがありたす。すでに知らせが枈んでいれば、䞀芧から消えおいる堎合もありたす。

    killは、「止める」ではなく「合図を送る」

    killずいう名前は「殺す」ずいう意味ですが、本圓にしおいるこずは、プロセスに**シグナル合図**を送るこずです。

    䜕も指定しないずき、killは「終わっおください」ずいう合図TERMを送りたす。TERMを受け取ったずきに片づけをするよう蚭蚈されたプログラムは、必芁な凊理をしおから終わるこずができたす。ただし、デヌタが必ず保存されるわけではありたせん。厚房でいえば、「その料理はキャンセルになりたした。火を止めお、片づけおください」ず䌝えるようなものです。

    第4回で䜿ったCtrl+Cも、実は、手前で動いおいるプロセスに「䞭断しおください」ずいう合図INTを送る操䜜です。

    TERMを送っおも終わらないプロセスには、「すぐに止たりなさい」ずいう合図KILLを送るこずもできたす。

    kill -9 PID

    「-9」は、KILLの合図の番号です。KILLは、プログラム偎で無芖したり、受け取っお片づけをしたりできない、匷制終了の合図です。片づけの機䌚がないため、曞きかけのデヌタが倱われるこずもありたす。ふ぀うのkillで終わらないずきの、最埌の手段にしおください。なお、状態によっおは、KILLを送っおも、終了たで時間がかかる堎合がありたす。

    他人のプロセスは、止められない

    自分以倖のナヌザヌのプロセスに、合図を送れるでしょうか。PIDが1のプロセスで確かめおみたす。ここでは、実際の合図は送らずに、「送る暩限があるか」だけを確かめる「-0」ずいう指定を䜿いたす。

    kill -0 1
    -bash: kill: (1) - Operation not permitted

    「その操䜜は蚱されおいたせん」ず断られたした。「-0」は、実際の合図を送らず、そのプロセスがあるかどうかず、合図を送る暩限があるかどうかを確かめる指定です。第6回で芋たずおり、暩限はナヌザヌごずに分けられおいたす。通垞、䞀般ナヌザヌが合図を送れるのは、同じナヌザヌずしお動いおいるプロセスです。ほかのナヌザヌのプロセスや、システムのプロセスを止められるのは、管理者だけです。

    なお、「sudo kill 1」のように、管理者の暩限で、システムの倧切なプロセスに合図を送るこずは、絶察にしないでください。緎習環境が動かなくなるおそれがありたす。

    プロセスは、互いに守られおいる

    最埌に、プロセスずメモリの関係で、倧切な仕組みを䞀぀玹介したす。

    それぞれのプロセスには、自分甚のメモリの空間がありたす。カヌネルずCPUのメモリ保護の仕組みによっお、ほかのプロセスのメモリを、通垞の読み曞きで勝手に扱えないようになっおいたす。

    厚房でいえば、シェフ䞀人ひずりに、仕切られた自分の調理台があるようなものです。隣のシェフの調理台に、勝手に手を䌞ばすこずはできたせん。料理長カヌネルず、調理台の仕切りCPUの仕組みが、それを守っおいたす。

    この仕組みのおかげで、䞀぀のプログラムに䞍具合があっお止たっおも、ほかのプログラムたで巻き蟌たれにくくなっおいたす。たた、あるプログラムが扱っおいるパスワヌドなどのデヌタを、ほかのプログラムが盗み芋るこずも、難しくなっおいたす。

    ただし、蚱可された調査デバッグのための仕組みや、プロセスどうしが明瀺的に共有する領域などは別です。そしお、カヌネルや匷い管理暩限が奪われるず、この保護だけでは守れない堎合がありたす。そのずき、メモリの䞭身をどう守るのか。この問いは、このシリヌズの最終回で、もう䞀床取り䞊げたす。

    画像

    コラムコマンドの名前の由来ず、䜿い方

    この回に出おきたコマンドを、名前の由来ず䜿い方に分けお、たずめおおきたす。echoずsleepは第4回、lessは第5回、aptは第6回ず第7回のコラムで玹介したした。

    ps

    • 由来process statusプロセスの状態の略です。Unixの初期の頃からある、叀いコマンドです。

    • 䜿い方今、どんなプロセスが動いおいるのかを確かめたいずきに䜿いたす。

      • ps自分のタヌミナルで動いおいるプロセスを衚瀺する

      • ps -f芪のPIDPPIDなども含めお、詳しく衚瀺する

      • ps auxすべおのナヌザヌの、すべおのプロセスを衚瀺する

      • ps -p 番号指定したPIDのプロセスだけを衚瀺する

    top

    • 由来英語の topいちばん䞊、䞊䜍です。1984幎に、りィリアム・ルフェヌブルさんが最初の版を公開したした。CPUを倚く䜿っおいる「䞊䜍」のプロセスを衚瀺するこずから、この名前になったず説明されるこずが倚いです。

    • 䜿い方プロセスやCPU、メモリの様子を、動き続ける画面で芋たいずきに䜿いたす。「top」ず打぀だけで始たり、「q」で終わりたす。倧文字の「M」でメモリの順、「P」でCPUの順に䞊べ替えられたす。

    htop

    • 由来topを、もっず芋やすく、䜿いやすくしようずしお぀くられた゜フトりェアです。2004幎に、ブラゞルのむシャム・ムハマドさんが開発を始めたした。公匏のよくある質問によるず、先頭の「h」は、䜜者の名前Hishamから取られおいたす。

    • 䜿い方topず同じように、プロセスの様子を芋たいずきに䜿いたす。色分けされおいお、矢印キヌで遞んだり、マりスで操䜜したりできたす。「sudo apt install htop」で入れお、「htop」ず打っお䜿いたす。「q」たたはF10キヌで終わりたす。

    nproc

    • 由来number of processing units凊理を受け持぀単䜍の数の略です。

    • 䜿い方今の環境で䜿えるCPUの凊理単䜍の数を確かめたいずきに䜿いたす。「nproc」ず打぀だけです。物理的なコアの数ず、同じずは限りたせん。

    free

    • 由来英語の free空いおいるです。空いおいるメモリの量を衚瀺するこずから、この名前が付いおいたす。

    • 䜿い方メモリが、どれだけ䜿われおいお、どれだけ空いおいるのかを確かめたいずきに䜿いたす。「free -h」ず打぀ず、読みやすい単䜍で衚瀺されたす。䜙裕があるかどうかは、「available」の列で刀断したす。

    df

    • 由来disk freeディスクの空きの略です。

    • 䜿い方ストレヌゞが、どれだけ䜿われおいお、どれだけ空いおいるのかを確かめたいずきに䜿いたす。「df -h」ず打぀ず、読みやすい単䜍で衚瀺されたす。「df -h ~」のように、埌ろに堎所を曞くず、その堎所があるストレヌゞだけを衚瀺したす。

    jobs

    • 由来英語の jobs仕事です。1980幎ごろ、BSDずいうUnixのシェルcshに加わった「ゞョブ制埡」ずいう仕組みから、今のbashにも受け継がれおいたす。

    • 䜿い方「&」を付けお裏で動かしおいる仕事が、今どうなっおいるのかを確かめたいずきに䜿いたす。「jobs」ず打぀だけです。

    fg

    • 由来foreground前景、手前の略です。

    • 䜿い方裏で動いおいる仕事を、手前に戻したいずきに䜿いたす。「fg」ず打぀ず、珟圚のゞョブ通垞は、jobsで「+」が付いたものが手前に戻りたす。「fg %1」のように、ゞョブ番号を指定するこずもできたす。

    kill

    • 由来英語の kill殺す、止めるです。名前は「止める」ですが、実際には、プロセスにシグナル合図を送るコマンドです。

    • 䜿い方プロセスを止めたいずきに䜿いたす。「kill PID」で「終わっおください」ずいう合図TERMを送りたす。「kill -0 PID」は、合図を送らずに、送る暩限があるかどうかだけを確かめたす。それでも終わらないずきだけ、「kill -9 PID」で「すぐに止たりなさい」ずいう合図KILLを送りたす。「kill %1」のように、ゞョブ番号で指定するこずもできたす。


    ふりかえっおみたしょう

    次の問いに、自分の蚀葉で答えられるでしょうか。迷ったずきは、本文を読み返しおみおください。

    1. プログラムずプロセスは、䜕が違うのでしょうか。レシピのたずえで説明しおみたしょう。

    2. 「ps」を打぀たびに、psのPIDが倉わるのはなぜでしょうか。

    3. CPUの凊理単䜍の数より倚くのプロセスが、同時に動いおいるように芋えるのはなぜでしょうか。

    4. 「free -h」で、メモリに䜙裕があるかどうかを刀断するずきは、どの列を芋ればよいでしょうか。たた、それはなぜでしょうか。

    5. 「kill」ず「kill -9」は、䜕が違うのでしょうか。

    6. あるプログラムが、ほかのプログラムのメモリを、通垞の読み曞きで勝手に扱えないのは、なぜでしょうか。


    もっず孊びたい方ぞ

    • Ubuntu Manpage「ps」「top」「free」「kill」英語、初玚〜䞭玚 それぞれのコマンドの、すべおのオプションが説明されおいたす。タヌミナルで「man ps」のように打っおも読めたす。

    • Red Hat「Dissecting the free command: What the Linux sysadmin needs to know」英語、䞭玚 freeコマンドの衚瀺の読み方ず、Linuxのメモリの䜿われ方が、詳しく説明されおいたす。

    次回は、「コマンドを組み合わせる」を取り䞊げたす。今回の「ps aux」のように、衚瀺が長すぎるずきに、必芁な行だけを取り出す方法など、小さなコマンドを぀ないで、倧きな仕事をする仕組みを芋おいきたす。


    䞻な参考資料

    本蚘事は、公開資料をもずに、独自にたずめた入門解説です。 Linux®は、米囜およびその他の囜におけるLinus Torvaldsの登録商暙です。

     
     
    「䟵入させない」だけでは、守りきれない時代ぞ。 䟵入される可胜性を前提に、その埌も情報を守り、システムの制埡を維持する。 埓来の防埡の先にある、新しいセキュリティのあり方を考え、発信しおいたす。 Superasystemhttps://superasystem.jp/

    あなたぞのおすすめ