| 1 | = 2009-01-22 = |
| 2 | |
| 3 | * 用 strace init 0 觀察關機程序 |
| 4 | {{{ |
| 5 | root@debian:~/sysvinit-2.86.ds1/src# strace init 0 |
| 6 | execve("/sbin/init", ["init", "0"], [/* 14 vars */]) = 0 |
| 7 | uname({sys="Linux", node="debian", ...}) = 0 |
| 8 | brk(0) = 0x8051000 |
| 9 | access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) |
| 10 | mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f8c000 |
| 11 | access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) |
| 12 | open("/etc/ld.so.cache", O_RDONLY) = 3 |
| 13 | fstat64(3, {st_mode=S_IFREG|0644, st_size=18455, ...}) = 0 |
| 14 | mmap2(NULL, 18455, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f87000 |
| 15 | close(3) = 0 |
| 16 | access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) |
| 17 | open("/lib/libsepol.so.1", O_RDONLY) = 3 |
| 18 | read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\0200\0"..., 512) = 512 |
| 19 | fstat64(3, {st_mode=S_IFREG|0644, st_size=219824, ...}) = 0 |
| 20 | mmap2(NULL, 265152, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7f46000 |
| 21 | mmap2(0xb7f7c000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x35) = 0xb7f7c000 |
| 22 | mmap2(0xb7f7d000, 39872, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7f7d000 |
| 23 | close(3) = 0 |
| 24 | access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) |
| 25 | open("/lib/libselinux.so.1", O_RDONLY) = 3 |
| 26 | read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0P8\0\000"..., 512) = 512 |
| 27 | fstat64(3, {st_mode=S_IFREG|0644, st_size=79368, ...}) = 0 |
| 28 | mmap2(NULL, 84884, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7f31000 |
| 29 | mmap2(0xb7f44000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x12) = 0xb7f44000 |
| 30 | close(3) = 0 |
| 31 | access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) |
| 32 | open("/lib/tls/i686/cmov/libc.so.6", O_RDONLY) = 3 |
| 33 | read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\240O\1"..., 512) = 512 |
| 34 | fstat64(3, {st_mode=S_IFREG|0644, st_size=1241392, ...}) = 0 |
| 35 | mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f30000 |
| 36 | mmap2(NULL, 1247388, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7dff000 |
| 37 | mmap2(0xb7f26000, 28672, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x127) = 0xb7f26000 |
| 38 | mmap2(0xb7f2d000, 10396, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7f2d000 |
| 39 | close(3) = 0 |
| 40 | access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) |
| 41 | open("/lib/tls/i686/cmov/libdl.so.2", O_RDONLY) = 3 |
| 42 | read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\20\f\0"..., 512) = 512 |
| 43 | fstat64(3, {st_mode=S_IFREG|0644, st_size=9592, ...}) = 0 |
| 44 | mmap2(NULL, 12404, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7dfb000 |
| 45 | mmap2(0xb7dfd000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1) = 0xb7dfd000 |
| 46 | close(3) = 0 |
| 47 | mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7dfa000 |
| 48 | mprotect(0xb7f26000, 20480, PROT_READ) = 0 |
| 49 | set_thread_area({entry_number:-1 -> 6, base_addr:0xb7dfa6c0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, usea ble:1}) = 0 |
| 50 | munmap(0xb7f87000, 18455) = 0 |
| 51 | access("/etc/selinux/", F_OK) = -1 ENOENT (No such file or directory) |
| 52 | brk(0) = 0x8051000 |
| 53 | brk(0x8072000) = 0x8072000 |
| 54 | open("/proc/mounts", O_RDONLY|O_LARGEFILE) = 3 |
| 55 | fstat64(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0 |
| 56 | mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f8b000 |
| 57 | read(3, "rootfs / rootfs rw 0 0\nnone /sys"..., 1024) = 305 |
| 58 | read(3, "", 1024) = 0 |
| 59 | close(3) = 0 |
| 60 | munmap(0xb7f8b000, 4096) = 0 |
| 61 | umask(022) = 022 |
| 62 | geteuid32() = 0 |
| 63 | getpid() = 2159 |
| 64 | rt_sigaction(SIGALRM, {0x8049ad0, [], 0}, NULL, 8) = 0 |
| 65 | alarm(3) = 0 |
| 66 | open("/dev/initctl", O_WRONLY) = 3 |
| 67 | write(3, "i\31\t\3\1\0\0\0000\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 384) = 384 |
| 68 | close(3) = 0 |
| 69 | alarm(0) = 3 |
| 70 | exit_group(0) = ? |
| 71 | Process 2159 detached |
| 72 | root@debian:~/sysvinit-2.86.ds1/src# |
| 73 | }}} |