APUE

APUE - 17 UNIX Domain Sockets

Unixドメインソケットは、同じマシン上のプロセス間コミュニケーションに使われる。 とりあえずソケットをつくってみる、カンタンな例。 $ ls -ila foo.socket 61366608 srwxr-xr-x 1 kotaroito 1522739515 0 3 5 23:01 foo.socket socketがつくられてるのが…

APUE - 16.3 Addressing

本日はSection 16.3 Addressing。 getaddrinfo(3) getaddrinfo() は、(インターネットのホストとサービスを識別する) node と service を渡すと、一つ以上の addrinfo 構造体を返す。それぞれの addrinfo 構造体には、 bind(2) や connect(2) を呼び出す際に…

APUE - 4.14 File Systems

i-nodeについてきちんと理解したかったので、本日は4.14 File Systems。 Figure 4.14 Cylinder group's i-nodes and data blocks in more detail i-nodeとは? ファイル種別、アクセス権限、サイズ、データブロックへのポインタなど、ファイルに関するメタ情…

APUE - 3.11 Atomic Operations

pread(2) Man page of PREAD pread() は、ファイルディスクリプタ fd の (ファイルの先頭からの) オフセット offset から最大 count バイトをバッファ buf へ読み込む。ファイルオフセットは変化しない。 lseek(2)に続けてread(2)を実行したのと概ね同じだが…

APUE - 16.3.1 Byte Ordering

APUE - 15.9 Shared Memory

普通にforkしちゃうと、変数は共有することができない。 が、shmget(2), shmat(2)を使えば、メモリを共有することができる。 shmat(2) #include <sys/types.h> #include <sys/shm.h> void *shmat(int shmid, const void *shmaddr, int shmflg); int shmdt(const void *shmaddr); shma</sys/shm.h></sys/types.h>…

umask

引き続きAPUE Chapter4を読んでおります。今回はSection4.8 umaskについて。 The umask() routine sets the process's file mode creation mask to cmask and returns the previous value of the mask. The 9 low-order access permission bits of cmask are…