TLPI Chapter 03 System Programming Concepts 読書メモ2

この章のエクササイズにreboot(2)のmagicナンバーの意味を考えようという問題がある。16進数に変換するのがヒントとのことだがググらないと意味が分からなかった。 なお、答えは、下記のリンクにある通りである。 https://stackoverflow.com/questions/48087…

TLPI Chapter 03 System Programming Concepts 読書メモ

第3章は主にsystem callの概要が書いてある。 その中でsystem callがユーザー関数と比べて実行がいかに遅いかを実験していたので追試した。 man7.org 下記の2パターンの実行時間を比べた。 1. getppid(2)を一万回呼ぶ場合 2. 単に整数値を返す関数を一万回呼…

PostgreSQLサーバーにクライアントが接続した時のシステムコールを眺める

PostgreSQLサーバー(いわゆるpostmaster process)は常にクライアントからのコネクションを受け付けている。 クライアントからの接続が確立したら、バックエンドプロセスを立ち上げて自身は接続待ちに戻る。 ここで、psqlで接続した時のPostgreSQLサーバー(…

Linux programming interface 3章システムプログラミング

断片的な読書メモです。 3.5章にサンプルコードについての説明がある。Makefileは本には記載されていないので、下記のサポートページからソースを一式ダウンロードして確認する。 Source code of the Programs in "The Linux Programming Interface" この章…

Linux コマンドメモ

前提 CentOS 7.4 サーバ設定 ユーザーがsudoできるか確かめる groups $user 公開鍵をサーバに渡してauthorized_keysに登録 ssh-copy-id -i $identity_file $user@$hostname sshの設定を変更 vi /etc/ssh/sshd_config # ssh_configではない general ls -CF

getenvの使い方

PostgreSQLを題材にシステムプログラミングを学ぼうと思う。 初めは簡単なところからということで、getenv関数について。 題材はPostgreSQL 10.0のコード。 getenvはstdlib.hに含まれるライブラリ関数です。その名の通りに引数にとった環境変数の値のポイン…