17102009 Linux
面白く読めた本だった。
- パイプ
- インターネットソケット
- 名前付きソケット
- 名前付きパイプ(FIFO)
- ファイルロック
- 共有メモリ
- セマフォ
- メッセージキュー
- ファイル
17102009 Linux
面白く読めた本だった。
17102009 Linux
スレッドプログラミング(pthread)
12章のwebサーバをスレッドを利用するように書き換える。
17102009 Linux
データグラム通信を利用したライセンスサーバを書く。
17102009 Linux
Cでweb serverを書く
GETだけをサポートした簡単なものを書いた。
14102009 Linux
ソケット
socket->bind->listen->accept->read/write->close
14102009 Linux
11.4 popenを書く
pipeしてforkして親の標準入力をパイプにつないで、この標準出力をパイプにつないで、execlでsh -c commandを実行する
shの-cオプションはコマンドを実行して終了する。
-c string If the -c option is present, then commands are read from string.
If there are arguments after the string, they are assigned to the positional
parameters, starting with $0.
12102009 Linux
pipe,fork,execを組み合わせて二つのプロセスでパイプを共有する。
who | sort
とか。
12102009 Linux
if elseなどの制御文や変数を取り扱えるようにして、環境変数にも対応させる。
forkするときに環境をどう受け継がせるかとか。
12102009 Linux
環境はenvironが指す配列に格納されている。
環境変数一覧を出力してみる。
#include <stdio.h>
extern char **environ;
main()
{
int i;
for( i = 0 ; environ[i] ; i++ )
printf("%s\n",environ[i]);
}
実行結果の一部。
EDITOR=/usr/bin/vim
LANG=ja_JP.utf-8
HISTCONTROL=ignoreboth
SHLVL=1
11102009 Linux
shを作っていく。この章から結構楽しい。
forkとwaitを使って子プロセスを制御する。