株式会社リゾーム 技術部 システム開発 第4グループの平松です。「Linux標準教科書」読書会の第10回レポートです。第9回目のレポートはこちらになります。
読書会の題材
前回に引き続き Linux標準教科書を題材としています。
10回目レポート
今回は11章「プロセス管理」で、参加者は4名でした。
それぞれの感想・意見交換
プロセスとは
- プロセスはkillコマンドで終了させるときに確認するぐらいでプロセスの親子関係や流れを意識したことはなかった
スケジューリング
- ラウンドロビン、FIFOはよく出て来るので覚えておくといいかも
- プロセスの優先度のパラメータの1つにNice値がある
- psコマンドでプロセスの確認をすることがあるので、その出力に表示されていたか調べたが、-O nice を付けないと表示されないらしい
- プロセスの優先度を変更できるnice,reniceコマンドは初めて知った
- Nice値は知らなかった
- Nice値は優先度を示す値
- 初見では19が最も優先度が高そうに見えたけど、-20が一番高い
- 他プロセスに処理を譲るほどNiceであるということ…?
フォアグランドジョブとバックグラウンドジョブ
- ジョブをバックグラウンドとフォアグランドに切り替えることができるのは知らなかった
- コマンドをバックグラウンドで起動する際に&をつけるのはやったことがある気がするが具体的に何で使ったかは覚えていない
- コマンドでバックグラウンドとフォアグランドを切り替えるのは新鮮だった
プロセスID
- 自身のPIDの取得は、溜まったプロセスを定期的にkillするスクリプトを書いた時に使った
- psコマンドは強制終了させたいプロセスを調べるのに使うぐらい
シグナル
- ctrl + C はSIGINTを送信してたのか。知らない内に使っていた
- プロセスを強制終了させるために使っていたため、9以外のシグナル番号は知らなかった
- killコマンドで強制終了と終了のシグナルを送信するぐらいしか使ったことがない
- killコマンドしか使ったことがない
- プロセスの終了は、15番を基本使ってそれで終了しなかった場合に9番で強制終了させた方が安全にプロセスの終了が行える
topコマンドとpstreeコマンド
- CPUやメモリ使用率が高いプロセスを特定したい時にtopコマンドを使う
- topコマンドはあまり使ったことがない
- topコマンドはリアルタイム故に違うidと読み間違えるのを気を付けたほうがいいらしくなるほどなと思った
- pstreeコマンドはプロセスの親子関係が図として表示されるので直感的に理解しやすい
プロセス間通信
- パイプ、シグナルをよく使っているかな
- セマフォなんかはよく聞く
まとめ
普段、使っていて意識することがなかったプロセスやジョブなどの内部構造について学ぶことができました。 プロセスIDやシグナルの項目は使う場面もあると思うのでこの読書会で知ることができてよかったです。次回は、「第12章 ファイル管理」です。