View Source const ( AF_ALG = 0x26 AF_APPLETALK = 0x5 AF_ASH = 0x12 AF_ATMPVC = 0x8 AF_ATMSVC = 0x14 AF_AX25 = 0x3 AF_BLUETOOTH = 0x1f AF_BRIDGE = 0x7 AF_CAIF = 0x25 AF_CAN = 0x1d AF_DECnet = 0xc AF_ECONET = 0x13 AF_FILE = 0x1 AF_IEEE802154 = 0x24 AF_INET = 0x2 AF_INET6 = 0xa AF_IPX = 0x4 AF_IRDA = 0x17 AF_ISDN = 0x22 AF_IUCV = 0x20 AF_KEY = 0xf AF_LLC = 0x1a AF_LOCAL = 0x1 AF_MAX = 0x27 AF_NETBEUI
子プロセスでacceptedなソケットをclose()すれば、FINパケットが送られると思っていたが、親プロセスでもacceptedなソケットをclose()する必要があった UNIXネットワークプログラミング第2版の4.8節 並行サーバに以下のようなことが書かれていた。 ソケットやファイルはすべて参照カウントをもつ。fork()すると子プロセスがディスクリプタを複製するため、参照カウントが2になり、子プロセスがclose()するだけだと参照カウントが0にならず、FINパケットが送信されない。したがって、親プロセスでも同じソケットディスクリプタをclose()する必要がある。 強制的にFINを送るshutdown()というものもある。shutdown()をどういうときに使うかもUNIXネットワークプログラミングにかかれていた。 大量に子プロセスが残っていて、ab -n 1000 -c 1
[pid 2406] accept4(3, <unfinished ...> [pid 2407] sched_yield( <unfinished ...> [pid 2406] <... accept4 resumed> {sa_family=AF_INET, sin_port=htons(42741), sin_addr=inet_addr("127.0.0.1")}, [16], SOCK_CLOEXEC|SOCK_NONBLOCK) = 5 [pid 2406] epoll_ctl(4, EPOLL_CTL_ADD, 5, {EPOLLIN|EPOLLOUT|EPOLLRDHUP|EPOLLET, {u32=1105458016, u64=139991269503840}}) = 0 [pid 2406] getsockname(5, {sa_family=AF_INET, si
syscall(2) System Calls Manual syscall(2) NAME topsyscall - indirect system call LIBRARY topStandard C library (libc, -lc) SYNOPSIS top#include <sys/syscall.h> /* Definition of SYS_* constants */ #include <unistd.h> long syscall(long number, ...); Feature Test Macro Requirements for glibc (see feature_test_macros(7)): syscall(): Since glibc 2.19: _DEFAULT_SOURCE Before glib
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く