UNIX

TUI開発で役立つターミナル仕様の理解

アプリケーション

はじめに TUI(Terminal User Interface)アプリケーションを開発する際、vimやhtopのような既存のTUIライブラリを使えば簡単に実装できる。しかし、その裏でターミナルがどのように動作しているのか、なぜRaw Modeが必要なのか、ANSIエスケープシーケンスとは何なのかを理解していないと、高レベルのAPIが何をしているのかわからず、問題が起きたときに対処しづらい。 本記...

TUI termios ターミナル UNIX Golang

孤児プロセスとゾンビプロセスの違い

コンピューターアーキテクチャ

概要Dockerを触っていたらorphan(孤児の意)というプロセスの存在を知ったのでゾンビプロセスとの違いを調べてみた。 ゾンビプロセスとは 処理が終了した子プロセス プロセステーブルに残った状態で親プロセスのwaitを待つ システムリソースは使用しないが、PIDは保持される ゾンビプロセスが大量に増えると、使用可能なPIDが減り、他のプロセスを起動できなくなる ゾンビプロセスの確認方法 ps ...

UNIX プロセス

UNIXという考え方

OS

UNIXという考え方を読んだ。 UNIXについての思想と哲学を150ページという短いページにまとめてある本。 この本ではコーディングに通じる考え方も学ぶことができる。 何かの設計を考えるときに普遍的に活かせるであろう思想が書いてあるので、設計に立ち向かうときに振り返りたい内容である。 ...

UNIX