unless’s blog

日々のちょっとした技術的なことの羅列

CとGoのhello world時のシステムコール数

特に何かの役に立つわけでもないが取得する機会があったのでここに置いておく

環境

# cat /etc/os-release
NAME="Ubuntu"
VERSION="20.04.1 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.1 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal

C

cc version

# cc --version
cc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

hello.c

# include <stdio.h>

int main(void) {
  puts("hello, world");
  return 0;
}

build

# cc -o hello hello.c

strace

# strace -T -o hello.log ./hello
hello, world
# cat hello.log
execve("./hello", ["./hello"], 0x7ffdcbe878f8 /* 9 vars */) = 0 <0.000859>
brk(NULL)                               = 0x559b13f8e000 <0.000379>
arch_prctl(0x3001 /* ARCH_??? */, 0x7ffc73131180) = -1 EINVAL (Invalid argument) <0.000110>
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory) <0.000475>
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 <0.000190>
fstat(3, {st_mode=S_IFREG|0644, st_size=12932, ...}) = 0 <0.000137>
mmap(NULL, 12932, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fc2d788e000 <0.000163>
close(3)                                = 0 <0.000144>
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 <0.000161>
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360q\2\0\0\0\0\0"..., 832) = 832 <0.000148>
pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784, 64) = 784 <0.000147>
pread64(3, "\4\0\0\0\20\0\0\0\5\0\0\0GNU\0\2\0\0\300\4\0\0\0\3\0\0\0\0\0\0\0", 32, 848) = 32 <0.000147>
pread64(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\t\233\222%\274\260\320\31\331\326\10\204\276X>\263"..., 68, 880) = 68 <0.000147>
fstat(3, {st_mode=S_IFREG|0755, st_size=2029224, ...}) = 0 <0.000145>
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fc2d788c000 <0.000145>
pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784, 64) = 784 <0.000240>
pread64(3, "\4\0\0\0\20\0\0\0\5\0\0\0GNU\0\2\0\0\300\4\0\0\0\3\0\0\0\0\0\0\0", 32, 848) = 32 <0.000238>
pread64(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\t\233\222%\274\260\320\31\331\326\10\204\276X>\263"..., 68, 880) = 68 <0.000168>
mmap(NULL, 2036952, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fc2d769a000 <0.000205>
mprotect(0x7fc2d76bf000, 1847296, PROT_NONE) = 0 <0.000234>
mmap(0x7fc2d76bf000, 1540096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x25000) = 0x7fc2d76bf000 <0.000232>
mmap(0x7fc2d7837000, 303104, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x19d000) = 0x7fc2d7837000 <0.000406>
mmap(0x7fc2d7882000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1e7000) = 0x7fc2d7882000 <0.000219>
mmap(0x7fc2d7888000, 13528, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fc2d7888000 <0.000319>
close(3)                                = 0 <0.000345>
arch_prctl(ARCH_SET_FS, 0x7fc2d788d540) = 0 <0.000117>
mprotect(0x7fc2d7882000, 12288, PROT_READ) = 0 <0.000168>
mprotect(0x559b12344000, 4096, PROT_READ) = 0 <0.000122>
mprotect(0x7fc2d78bf000, 4096, PROT_READ) = 0 <0.000121>
munmap(0x7fc2d788e000, 12932)           = 0 <0.000170>
fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(0x88, 0), ...}) = 0 <0.000128>
brk(NULL)                               = 0x559b13f8e000 <0.000123>
brk(0x559b13faf000)                     = 0x559b13faf000 <0.000119>
write(1, "hello, world\n", 13)          = 13 <0.000618>
exit_group(0)                           = ?
+++ exited with 0 +++

call数

# cat hello.log | wc -l
36

Go

go version

# go version
go version go1.13.8 linux/amd64

hello.go

package main

import "fmt"

func main() {
  fmt.Println("hello, world")
}

build

# go build hello.go

strace

# strace -T -o hello.log ./hello
hello, world
# cat hello.log
execve("./hello", ["./hello"], 0x7fff18c90078 /* 9 vars */) = 0 <0.000343>
arch_prctl(ARCH_SET_FS, 0x55e0f0)       = 0 <0.000023>
sched_getaffinity(0, 8192, [0, 1])      = 16 <0.000028>
openat(AT_FDCWD, "/sys/kernel/mm/transparent_hugepage/hpage_pmd_size", O_RDONLY) = 3 <0.000050>
read(3, "2097152\n", 20)                = 8 <0.000029>
close(3)                                = 0 <0.000012>
mmap(NULL, 262144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f655058f000 <0.000032>
mmap(0xc000000000, 67108864, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xc000000000 <0.000025>
mmap(0xc000000000, 67108864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xc000000000 <0.000030>
mmap(NULL, 33554432, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f654e58f000 <0.000025>
mmap(NULL, 2164736, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f654e37e000 <0.000029>
mmap(NULL, 65536, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f654e36e000 <0.000025>
mmap(NULL, 65536, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f654e35e000 <0.000030>
clock_gettime(CLOCK_MONOTONIC, {tv_sec=3985, tv_nsec=825706741}) = 0 <0.000024>
clock_gettime(CLOCK_MONOTONIC, {tv_sec=3985, tv_nsec=825791841}) = 0 <0.000042>
clock_gettime(CLOCK_MONOTONIC, {tv_sec=3985, tv_nsec=825877341}) = 0 <0.000029>
clock_gettime(CLOCK_MONOTONIC, {tv_sec=3985, tv_nsec=825952241}) = 0 <0.000061>
clock_gettime(CLOCK_MONOTONIC, {tv_sec=3985, tv_nsec=826186341}) = 0 <0.000042>
clock_gettime(CLOCK_MONOTONIC, {tv_sec=3985, tv_nsec=826313741}) = 0 <0.000052>
clock_gettime(CLOCK_MONOTONIC, {tv_sec=3985, tv_nsec=826501941}) = 0 <0.000095>
clock_gettime(CLOCK_MONOTONIC, {tv_sec=3985, tv_nsec=826726741}) = 0 <0.000035>
clock_gettime(CLOCK_MONOTONIC, {tv_sec=3985, tv_nsec=826836541}) = 0 <0.000042>
clock_gettime(CLOCK_MONOTONIC, {tv_sec=3985, tv_nsec=826922741}) = 0 <0.000034>
clock_gettime(CLOCK_MONOTONIC, {tv_sec=3985, tv_nsec=827010941}) = 0 <0.000034>
clock_gettime(CLOCK_MONOTONIC, {tv_sec=3985, tv_nsec=827093841}) = 0 <0.000042>
clock_gettime(CLOCK_MONOTONIC, {tv_sec=3985, tv_nsec=827173641}) = 0 <0.000027>
clock_gettime(CLOCK_MONOTONIC, {tv_sec=3985, tv_nsec=827258941}) = 0 <0.000046>
rt_sigprocmask(SIG_SETMASK, NULL, [], 8) = 0 <0.000028>
clock_gettime(CLOCK_MONOTONIC, {tv_sec=3985, tv_nsec=827907041}) = 0 <0.000025>
clock_gettime(CLOCK_MONOTONIC, {tv_sec=3985, tv_nsec=828037441}) = 0 <0.000056>
sigaltstack(NULL, {ss_sp=NULL, ss_flags=SS_DISABLE, ss_size=0}) = 0 <0.000032>
sigaltstack({ss_sp=0xc000002000, ss_flags=0, ss_size=32768}, NULL) = 0 <0.000026>
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 <0.000031>
gettid()                                = 5133 <0.000026>
rt_sigaction(SIGHUP, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 <0.000036>
rt_sigaction(SIGHUP, {sa_handler=0x4551e0, sa_mask=~[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x455310}, NULL, 8) = 0 <0.000180>
rt_sigaction(SIGINT, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 <0.000029>
rt_sigaction(SIGINT, {sa_handler=0x4551e0, sa_mask=~[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x455310}, NULL, 8) = 0 <0.000025>
rt_sigaction(SIGQUIT, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 <0.000022>
rt_sigaction(SIGQUIT, {sa_handler=0x4551e0, sa_mask=~[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x455310}, NULL, 8) = 0 <0.000024>
rt_sigaction(SIGILL, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 <0.000027>
rt_sigaction(SIGILL, {sa_handler=0x4551e0, sa_mask=~[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x455310}, NULL, 8) = 0 <0.000020>
rt_sigaction(SIGTRAP, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 <0.000127>
rt_sigaction(SIGTRAP, {sa_handler=0x4551e0, sa_mask=~[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x455310}, NULL, 8) = 0 <0.000021>
rt_sigaction(SIGABRT, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 <0.000020>
rt_sigaction(SIGABRT, {sa_handler=0x4551e0, sa_mask=~[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x455310}, NULL, 8) = 0 <0.000021>
rt_sigaction(SIGBUS, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 <0.000020>
rt_sigaction(SIGBUS, {sa_handler=0x4551e0, sa_mask=~[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x455310}, NULL, 8) = 0 <0.000020>
rt_sigaction(SIGFPE, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 <0.000020>
rt_sigaction(SIGFPE, {sa_handler=0x4551e0, sa_mask=~[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x455310}, NULL, 8) = 0 <0.000020>
rt_sigaction(SIGUSR1, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 <0.000020>
rt_sigaction(SIGUSR1, {sa_handler=0x4551e0, sa_mask=~[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x455310}, NULL, 8) = 0 <0.000020>
rt_sigaction(SIGSEGV, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 <0.000020>
rt_sigaction(SIGSEGV, {sa_handler=0x4551e0, sa_mask=~[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x455310}, NULL, 8) = 0 <0.000020>
rt_sigaction(SIGUSR2, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 <0.000020>
rt_sigaction(SIGUSR2, {sa_handler=0x4551e0, sa_mask=~[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x455310}, NULL, 8) = 0 <0.000020>
rt_sigaction(SIGPIPE, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 <0.000020>
rt_sigaction(SIGPIPE, {sa_handler=0x4551e0, sa_mask=~[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x455310}, NULL, 8) = 0 <0.000020>
rt_sigaction(SIGALRM, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 <0.000020>
rt_sigaction(SIGALRM, {sa_handler=0x4551e0, sa_mask=~[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x455310}, NULL, 8) = 0 <0.000020>
rt_sigaction(SIGTERM, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 <0.000020>
rt_sigaction(SIGTERM, {sa_handler=0x4551e0, sa_mask=~[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x455310}, NULL, 8) = 0 <0.000020>
rt_sigaction(SIGSTKFLT, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 <0.000020>
rt_sigaction(SIGSTKFLT, {sa_handler=0x4551e0, sa_mask=~[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x455310}, NULL, 8) = 0 <0.000020>
rt_sigaction(SIGCHLD, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 <0.000020>
rt_sigaction(SIGCHLD, {sa_handler=0x4551e0, sa_mask=~[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x455310}, NULL, 8) = 0 <0.000020>
rt_sigaction(SIGURG, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 <0.000020>
rt_sigaction(SIGURG, {sa_handler=0x4551e0, sa_mask=~[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x455310}, NULL, 8) = 0 <0.000020>
rt_sigaction(SIGXCPU, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 <0.000020>
rt_sigaction(SIGXCPU, {sa_handler=0x4551e0, sa_mask=~[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x455310}, NULL, 8) = 0 <0.000020>
rt_sigaction(SIGXFSZ, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 <0.000020>
rt_sigaction(SIGXFSZ, {sa_handler=0x4551e0, sa_mask=~[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x455310}, NULL, 8) = 0 <0.000023>
rt_sigaction(SIGVTALRM, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 <0.000020>
rt_sigaction(SIGVTALRM, {sa_handler=0x4551e0, sa_mask=~[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x455310}, NULL, 8) = 0 <0.000020>
rt_sigaction(SIGPROF, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 <0.000020>
rt_sigaction(SIGPROF, {sa_handler=0x4551e0, sa_mask=~[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x455310}, NULL, 8) = 0 <0.000020>
rt_sigaction(SIGWINCH, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 <0.000020>
rt_sigaction(SIGWINCH, {sa_handler=0x4551e0, sa_mask=~[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x455310}, NULL, 8) = 0 <0.000021>
rt_sigaction(SIGIO, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 <0.000020>
rt_sigaction(SIGIO, {sa_handler=0x4551e0, sa_mask=~[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x455310}, NULL, 8) = 0 <0.000020>
rt_sigaction(SIGPWR, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 <0.000020>
rt_sigaction(SIGPWR, {sa_handler=0x4551e0, sa_mask=~[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x455310}, NULL, 8) = 0 <0.000020>
rt_sigaction(SIGSYS, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 <0.000020>
rt_sigaction(SIGSYS, {sa_handler=0x4551e0, sa_mask=~[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x455310}, NULL, 8) = 0 <0.000020>
rt_sigaction(SIGRTMIN, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 <0.000020>
rt_sigaction(SIGRT_1, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 <0.000020>
rt_sigaction(SIGRT_2, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 <0.000020>
rt_sigaction(SIGRT_2, {sa_handler=0x4551e0, sa_mask=~[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x455310}, NULL, 8) = 0 <0.000020>
rt_sigaction(SIGRT_3, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 <0.000020>
rt_sigaction(SIGRT_3, {sa_handler=0x4551e0, sa_mask=~[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x455310}, NULL, 8) = 0 <0.000020>
rt_sigaction(SIGRT_4, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 <0.000020>
rt_sigaction(SIGRT_4, {sa_handler=0x4551e0, sa_mask=~[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x455310}, NULL, 8) = 0 <0.000020>
rt_sigaction(SIGRT_5, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 <0.000020>
rt_sigaction(SIGRT_5, {sa_handler=0x4551e0, sa_mask=~[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x455310}, NULL, 8) = 0 <0.000020>
rt_sigaction(SIGRT_6, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 <0.000020>
rt_sigaction(SIGRT_6, {sa_handler=0x4551e0, sa_mask=~[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x455310}, NULL, 8) = 0 <0.000020>
rt_sigaction(SIGRT_7, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 <0.000134>
rt_sigaction(SIGRT_7, {sa_handler=0x4551e0, sa_mask=~[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x455310}, NULL, 8) = 0 <0.000020>
rt_sigaction(SIGRT_8, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 <0.000020>
rt_sigaction(SIGRT_8, {sa_handler=0x4551e0, sa_mask=~[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x455310}, NULL, 8) = 0 <0.000020>
rt_sigaction(SIGRT_9, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 <0.000020>
rt_sigaction(SIGRT_9, {sa_handler=0x4551e0, sa_mask=~[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x455310}, NULL, 8) = 0 <0.000020>
rt_sigaction(SIGRT_10, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 <0.000020>
rt_sigaction(SIGRT_10, {sa_handler=0x4551e0, sa_mask=~[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x455310}, NULL, 8) = 0 <0.000020>
rt_sigaction(SIGRT_11, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 <0.000020>
rt_sigaction(SIGRT_11, {sa_handler=0x4551e0, sa_mask=~[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x455310}, NULL, 8) = 0 <0.000020>
rt_sigaction(SIGRT_12, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 <0.000020>
rt_sigaction(SIGRT_12, {sa_handler=0x4551e0, sa_mask=~[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x455310}, NULL, 8) = 0 <0.000020>
rt_sigaction(SIGRT_13, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 <0.000020>
rt_sigaction(SIGRT_13, {sa_handler=0x4551e0, sa_mask=~[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x455310}, NULL, 8) = 0 <0.000021>
rt_sigaction(SIGRT_14, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 <0.000020>
rt_sigaction(SIGRT_14, {sa_handler=0x4551e0, sa_mask=~[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x455310}, NULL, 8) = 0 <0.000020>
rt_sigaction(SIGRT_15, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 <0.000020>
rt_sigaction(SIGRT_15, {sa_handler=0x4551e0, sa_mask=~[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x455310}, NULL, 8) = 0 <0.000020>
rt_sigaction(SIGRT_16, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 <0.000020>
rt_sigaction(SIGRT_16, {sa_handler=0x4551e0, sa_mask=~[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x455310}, NULL, 8) = 0 <0.000020>
rt_sigaction(SIGRT_17, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 <0.000020>
rt_sigaction(SIGRT_17, {sa_handler=0x4551e0, sa_mask=~[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x455310}, NULL, 8) = 0 <0.000020>
rt_sigaction(SIGRT_18, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 <0.000020>
rt_sigaction(SIGRT_18, {sa_handler=0x4551e0, sa_mask=~[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x455310}, NULL, 8) = 0 <0.000020>
rt_sigaction(SIGRT_19, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 <0.000020>
rt_sigaction(SIGRT_19, {sa_handler=0x4551e0, sa_mask=~[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x455310}, NULL, 8) = 0 <0.000017>
rt_sigaction(SIGRT_20, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 <0.000118>
rt_sigaction(SIGRT_20, {sa_handler=0x4551e0, sa_mask=~[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x455310}, NULL, 8) = 0 <0.000017>
rt_sigaction(SIGRT_21, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 <0.000016>
rt_sigaction(SIGRT_21, {sa_handler=0x4551e0, sa_mask=~[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x455310}, NULL, 8) = 0 <0.000016>
rt_sigaction(SIGRT_22, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 <0.000016>
rt_sigaction(SIGRT_22, {sa_handler=0x4551e0, sa_mask=~[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x455310}, NULL, 8) = 0 <0.000016>
rt_sigaction(SIGRT_23, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 <0.000016>
rt_sigaction(SIGRT_23, {sa_handler=0x4551e0, sa_mask=~[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x455310}, NULL, 8) = 0 <0.000016>
rt_sigaction(SIGRT_24, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 <0.000016>
rt_sigaction(SIGRT_24, {sa_handler=0x4551e0, sa_mask=~[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x455310}, NULL, 8) = 0 <0.000016>
rt_sigaction(SIGRT_25, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 <0.000016>
rt_sigaction(SIGRT_25, {sa_handler=0x4551e0, sa_mask=~[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x455310}, NULL, 8) = 0 <0.000016>
rt_sigaction(SIGRT_26, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 <0.000016>
rt_sigaction(SIGRT_26, {sa_handler=0x4551e0, sa_mask=~[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x455310}, NULL, 8) = 0 <0.000016>
rt_sigaction(SIGRT_27, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 <0.000016>
rt_sigaction(SIGRT_27, {sa_handler=0x4551e0, sa_mask=~[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x455310}, NULL, 8) = 0 <0.000094>
rt_sigaction(SIGRT_28, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 <0.000016>
rt_sigaction(SIGRT_28, {sa_handler=0x4551e0, sa_mask=~[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x455310}, NULL, 8) = 0 <0.000016>
rt_sigaction(SIGRT_29, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 <0.000016>
rt_sigaction(SIGRT_29, {sa_handler=0x4551e0, sa_mask=~[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x455310}, NULL, 8) = 0 <0.000016>
rt_sigaction(SIGRT_30, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 <0.000016>
rt_sigaction(SIGRT_30, {sa_handler=0x4551e0, sa_mask=~[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x455310}, NULL, 8) = 0 <0.000017>
rt_sigaction(SIGRT_31, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 <0.000016>
rt_sigaction(SIGRT_31, {sa_handler=0x4551e0, sa_mask=~[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x455310}, NULL, 8) = 0 <0.000016>
rt_sigaction(SIGRT_32, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 <0.000016>
rt_sigaction(SIGRT_32, {sa_handler=0x4551e0, sa_mask=~[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x455310}, NULL, 8) = 0 <0.000016>
rt_sigprocmask(SIG_SETMASK, ~[], [], 8) = 0 <0.000017>
clone(child_stack=0xc000042000, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM) = 5134 <0.000090>
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 <0.000014>
rt_sigprocmask(SIG_SETMASK, ~[], [], 8) = 0 <0.000017>
clone(child_stack=0xc000044000, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM) = 5135 <0.000064>
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 <0.000007>
clock_gettime(CLOCK_MONOTONIC, {tv_sec=3985, tv_nsec=837951841}) = 0 <0.000021>
clock_gettime(CLOCK_MONOTONIC, {tv_sec=3985, tv_nsec=838005841}) = 0 <0.000025>
rt_sigprocmask(SIG_SETMASK, ~[], [], 8) = 0 <0.000016>
clone(child_stack=0xc00003e000, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM) = 5136 <0.000037>
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 <0.000016>
futex(0xc000032848, FUTEX_WAKE_PRIVATE, 1) = 1 <0.000041>
futex(0xc0000324c8, FUTEX_WAKE_PRIVATE, 1) = 1 <0.000039>
clock_gettime(CLOCK_MONOTONIC, {tv_sec=3985, tv_nsec=838769641}) = 0 <0.000021>
readlinkat(AT_FDCWD, "/proc/self/exe", "/root/testgo/hello", 128) = 18 <0.000043>
fcntl(0, F_GETFL)                       = 0x8002 (flags O_RDWR|O_LARGEFILE) <0.000018>
futex(0xc0000324c8, FUTEX_WAKE_PRIVATE, 1) = 1 <0.000028>
mmap(NULL, 262144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f654e31e000 <0.000013>
fcntl(1, F_GETFL)                       = 0x8002 (flags O_RDWR|O_LARGEFILE) <0.000015>
fcntl(2, F_GETFL)                       = 0x8002 (flags O_RDWR|O_LARGEFILE) <0.000013>
write(1, "hello, world\n", 13)          = 13 <0.000051>
exit_group(0)                           = ?
+++ exited with 0 +++

call数

# cat hello.log | wc -l
171