반응형
strace java ./HelloJava.java
시스템 콜에 대한 이해,,
시스템 콜은 프로세스가 운영체제의 서비스를 이용하는 것
-> 운영체제(커널 영역)에 있는 서비스(함수, 기능)을 사용하는 것
-> 시스템 콜에도 매개변수와 반환 값이 있다.
execve(매개변수) = 리턴값
HelloJava.java 를 컴파일 하는 단순한 명령어에도 시스템 콜이 이렇게나 많이 호출 된다.
리눅스 시스템콜 내용 확인
futex(2) - Linux manual page
futex(2) — Linux manual page futex(2) System Calls Manual futex(2) NAME top futex - fast user-space locking LIBRARY top Standard C library (libc, -lc) SYNOPSIS top #include /* Definition of FUTEX_* constants */ #includ
man7.org
OS: Rocky Linux release 9.1 (Blue Onyx)
[root@aa]# strace javac ./HelloJava.java
execve("/usr/local/jdk/bin/javac", ["javac", "./HelloJava.java"], 0x7ffe01943bf8 /* 41 vars */) = 0
brk(NULL) = 0x127d000
arch_prctl(0x3001 /* ARCH_??? */, 0x7fffd2b34eb0) = -1 EINVAL (부적절한 인수)
readlink("/proc/self/exe", "/usr/local/jdk/bin/javac", 4096) = 24
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f6a20224000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
openat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/jli/glibc-hwcaps/x86-64-v2/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
newfstatat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/jli/glibc-hwcaps/x86-64-v2", 0x7fffd2b340e0, 0) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
openat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/jli/tls/x86_64/x86_64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다) newfstatat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/jli/tls/x86_64/x86_64", 0x7fffd2b340e0, 0) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
openat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/jli/tls/x86_64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
newfstatat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/jli/tls/x86_64", 0x7fffd2b340e0, 0) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
openat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/jli/tls/x86_64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
newfstatat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/jli/tls/x86_64", 0x7fffd2b340e0, 0) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
openat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/jli/tls/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
newfstatat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/jli/tls", 0x7fffd2b340e0, 0) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
openat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/jli/x86_64/x86_64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
newfstatat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/jli/x86_64/x86_64", 0x7fffd2b340e0, 0) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
openat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/jli/x86_64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
newfstatat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/jli/x86_64", 0x7fffd2b340e0, 0) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
openat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/jli/x86_64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
newfstatat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/jli/x86_64", 0x7fffd2b340e0, 0) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
openat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/jli/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
newfstatat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/jli", {st_mode=S_IFDIR|0755, st_size=23, ...}, 0) = 0
openat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/glibc-hwcaps/x86-64-v2/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
newfstatat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/glibc-hwcaps/x86-64-v2", 0x7fffd2b340e0, 0) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
openat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/tls/x86_64/x86_64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다) newfstatat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/tls/x86_64/x86_64", 0x7fffd2b340e0, 0) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
openat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/tls/x86_64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
newfstatat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/tls/x86_64", 0x7fffd2b340e0, 0) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
openat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/tls/x86_64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
newfstatat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/tls/x86_64", 0x7fffd2b340e0, 0) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
openat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/tls/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
newfstatat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/tls", 0x7fffd2b340e0, 0) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다) openat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/x86_64/x86_64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
newfstatat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/x86_64/x86_64", 0x7fffd2b340e0, 0) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
openat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/x86_64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
newfstatat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/x86_64", 0x7fffd2b340e0, 0) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
openat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/x86_64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
newfstatat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/x86_64", 0x7fffd2b340e0, 0) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
openat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
newfstatat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64", {st_mode=S_IFDIR|0755, st_size=35, ...}, 0) = 0 openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=45463, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 45463, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f6a20218000 close(3) = 0
openat(AT_FDCWD, "/lib64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P\20\0\0\0\0\0\0"..., 832) = 832 newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=15480, ...}, AT_EMPTY_PATH) = 0
mmap(NULL, 16424, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f6a20213000
mmap(0x7f6a20214000, 4096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0x7f6a20214000
mmap(0x7f6a20215000, 4096, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f6a20215000
mmap(0x7f6a20216000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f6a20216000 close(3) = 0
openat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/jli/libjli.so", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20#\0\0\0\0\0\0"..., 832) = 832
newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=102990, ...}, AT_EMPTY_PATH) = 0
mmap(NULL, 2184904, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f6a1fffd000 mprotect(0x7f6a20012000, 2097152, PROT_NONE) = 0
mmap(0x7f6a20212000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x15000) = 0x7f6a20212000 close(3) = 0
openat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/jli/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
openat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
openat(AT_FDCWD, "/lib64/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P\20\0\0\0\0\0\0"..., 832) = 832 newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=15464, ...}, AT_EMPTY_PATH) = 0
mmap(NULL, 16424, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f6a1fff8000
mmap(0x7f6a1fff9000, 4096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0x7f6a1fff9000
mmap(0x7f6a1fffa000, 4096, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f6a1fffa000 mmap(0x7f6a1fffb000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f6a1fffb000 close(3) = 0
openat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/jli/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
openat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
openat(AT_FDCWD, "/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0p\0\4\0\0\0\0\0"..., 832) = 832
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 pread64(3, "\4\0\0\0 \0\0\0\5\0\0\0GNU\0\2\0\0\300\4\0\0\0\3\0\0\0\0\0\0\0"..., 48, 848) = 48
pread64(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\263\235F\212\352\326\331\355\342'u\37\376\t=\242"..., 68, 896) = 68
newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=2387200, ...}, AT_EMPTY_PATH) = 0
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
mmap(NULL, 2133936, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f6a1fdef000
mprotect(0x7f6a1fe17000, 1892352, PROT_NONE) = 0
mmap(0x7f6a1fe17000, 1527808, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x28000) = 0x7f6a1fe17000
mmap(0x7f6a1ff8c000, 360448, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x19d000) = 0x7f6a1ff8c000
mmap(0x7f6a1ffe5000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1f5000) = 0x7f6a1ffe5000
mmap(0x7f6a1ffeb000, 53168, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f6a1ffeb000
close(3) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f6a1fded000
arch_prctl(ARCH_SET_FS, 0x7f6a1fdedb80) = 0
set_tid_address(0x7f6a1fdede50) = 3568408
set_robust_list(0x7f6a1fdede60, 24) = 0 rseq(0x7f6a1fdee520, 0x20, 0, 0x53053053) = 0
mprotect(0x7f6a1ffe5000, 16384, PROT_READ) = 0 mprotect(0x7f6a1fffb000, 4096, PROT_READ) = 0
mprotect(0x7f6a20216000, 4096, PROT_READ) = 0
mprotect(0x7f6a2025a000, 8192, PROT_READ) = 0
prlimit64(0, RLIMIT_STACK, NULL, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0
munmap(0x7f6a20218000, 45463) = 0
getrandom("\x65\x2f\x68\x9e\x27\xaf\xca\x6f", 8, GRND_NONBLOCK) = 8
brk(NULL) = 0x127d000 brk(0x129e000) = 0x129e000
readlink("/proc/self/exe", "/usr/local/jdk/bin/javac", 4096) = 24
access("/usr/local/jdk/lib/amd64/libjava.so", F_OK) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
access("/usr/local/jdk/jre/lib/amd64/libjava.so", F_OK) = 0
openat(AT_FDCWD, "/usr/local/jdk/jre/lib/amd64/jvm.cfg", O_RDONLY) = 3
newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=627, ...}, AT_EMPTY_PATH) = 0
read(3, "# Copyright (c) 2003, 2013, Orac"..., 4096) = 627
read(3, "", 4096) = 0
close(3) = 0
stat("/usr/local/jdk/jre/lib/amd64/server/libjvm.so", {st_mode=S_IFREG|0755, st_size=16835277, ...}) = 0
openat(AT_FDCWD, "/usr/local/jdk/jre/lib/amd64/server/libjvm.so", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260\304!\0\0\0\0\0"..., 832) = 832
newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=16835277, ...}, AT_EMPTY_PATH) = 0
mmap(NULL, 16547336, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f6a1ee25000
mprotect(0x7f6a1fad3000, 2093056, PROT_NONE) = 0
mmap(0x7f6a1fcd2000, 880640, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xcad000) = 0x7f6a1fcd2000
mmap(0x7f6a1fda9000, 278024, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f6a1fda9000 close(3) = 0
openat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/jli/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
openat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=45463, ...}, AT_EMPTY_PATH) = 0
mmap(NULL, 45463, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f6a20218000
close(3) = 0
openat(AT_FDCWD, "/lib64/libm.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220\323\0\0\0\0\0\0"..., 832) = 832
newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=904688, ...}, AT_EMPTY_PATH) = 0
mmap(NULL, 893184, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f6a1ed4a000
mmap(0x7f6a1ed57000, 458752, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xd000) = 0x7f6a1ed57000
mmap(0x7f6a1edc7000, 376832, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x7d000) = 0x7f6a1edc7000
mmap(0x7f6a1ee23000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xd8000) = 0x7f6a1ee23000 close(3) = 0
mprotect(0x7f6a1ee23000, 4096, PROT_READ) = 0
getpid() = 3568408
munmap(0x7f6a20218000, 45463) = 0
getpid() = 3568408
rt_sigaction(SIGRT_1, {sa_handler=0x7f6a1fe8bb70, sa_mask=[],sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x7f6a1fe43df0}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
mmap(NULL, 1052672, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7f6a1ec49000
mprotect(0x7f6a1ec4a000, 1048576, PROT_READ|PROT_WRITE) = 0
rt_sigprocmask(SIG_BLOCK, ~[], [], 8) = 0
clone3({flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, child_tid=0x7f6a1ed49910, parent_tid=0x7f6a1ed49910, exit_signal=0, stack=0x7f6a1ec49000, stack_size=0xfff00, tls=0x7f6a1ed49640} => {parent_tid=[3568409]}, 88) = 3568409
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 futex(0x7f6a1ed49910, FUTEX_WAIT_BITSET|FUTEX_CLOCK_REALTIME, 3568409, NULL, FUTEX_BITSET_MATCH_ANY) = ? +++
exited with 0 +++
[root@aa]# ls HelloJava.class HelloJava.java
java의 "Hello Java" 를 출력할 때는 시스템 콜을 얼마나 호출할까?
[root@aa]#strace java HelloJava
execve("/usr/local/jdk/bin/java", ["java", "HelloJava"], 0x7ffcd6d08dc8 /* 41 vars */) = 0
brk(NULL) = 0x1ddf000
arch_prctl(0x3001 /* ARCH_??? */, 0x7fff985808e0) = -1 EINVAL (부적절한 인수)
readlink("/proc/self/exe", "/usr/local/jdk/bin/java", 4096) = 23
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f9d42b0f000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
openat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/jli/glibc-hwcaps/x86-64-v2/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
newfstatat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/jli/glibc-hwcaps/x86-64-v2", 0x7fff9857fb10, 0) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
openat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/jli/tls/x86_64/x86_64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
newfstatat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/jli/tls/x86_64/x86_64", 0x7fff9857fb10, 0) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
openat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/jli/tls/x86_64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
newfstatat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/jli/tls/x86_64", 0x7fff9857fb10, 0) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
openat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/jli/tls/x86_64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
newfstatat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/jli/tls/x86_64", 0x7fff9857fb10, 0) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
openat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/jli/tls/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
newfstatat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/jli/tls", 0x7fff9857fb10, 0) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
openat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/jli/x86_64/x86_64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
newfstatat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/jli/x86_64/x86_64", 0x7fff9857fb10, 0) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
openat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/jli/x86_64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
newfstatat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/jli/x86_64", 0x7fff9857fb10, 0) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
openat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/jli/x86_64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
newfstatat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/jli/x86_64", 0x7fff9857fb10, 0) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
openat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/jli/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
newfstatat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/jli", {st_mode=S_IFDIR|0755, st_size=23, ...}, 0) = 0
openat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/glibc-hwcaps/x86-64-v2/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
newfstatat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/glibc-hwcaps/x86-64-v2", 0x7fff9857fb10, 0) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
openat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/tls/x86_64/x86_64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
newfstatat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/tls/x86_64/x86_64", 0x7fff9857fb10, 0) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
openat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/tls/x86_64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
newfstatat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/tls/x86_64", 0x7fff9857fb10, 0) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
openat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/tls/x86_64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
newfstatat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/tls/x86_64", 0x7fff9857fb10, 0) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
openat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/tls/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
newfstatat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/tls", 0x7fff9857fb10, 0) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
openat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/x86_64/x86_64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
newfstatat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/x86_64/x86_64", 0x7fff9857fb10, 0) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
openat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/x86_64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
newfstatat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/x86_64", 0x7fff9857fb10, 0) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다) openat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/x86_64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
newfstatat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/x86_64", 0x7fff9857fb10, 0) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
openat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
newfstatat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64", {st_mode=S_IFDIR|0755, st_size=35, ...}, 0) = 0
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=45463, ...}, AT_EMPTY_PATH) = 0
mmap(NULL, 45463, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f9d42b03000 close(3) = 0
openat(AT_FDCWD, "/lib64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P\20\0\0\0\0\0\0"..., 832) = 832
newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=15480, ...}, AT_EMPTY_PATH) = 0
mmap(NULL, 16424, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f9d42afe000
mmap(0x7f9d42aff000, 4096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0x7f9d42aff000
mmap(0x7f9d42b00000, 4096, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f9d42b00000
mmap(0x7f9d42b01000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f9d42b01000 close(3) = 0
openat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/jli/libjli.so", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20#\0\0\0\0\0\0"..., 832) = 832
newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=102990, ...}, AT_EMPTY_PATH) = 0
mmap(NULL, 2184904, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f9d428e8000
mprotect(0x7f9d428fd000, 2097152, PROT_NONE) = 0
mmap(0x7f9d42afd000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x15000) = 0x7f9d42afd000
close(3) = 0
openat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/jli/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
openat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
openat(AT_FDCWD, "/lib64/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P\20\0\0\0\0\0\0"..., 832) = 832
newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=15464, ...}, AT_EMPTY_PATH) = 0
mmap(NULL, 16424, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f9d428e3000
mmap(0x7f9d428e4000, 4096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0x7f9d428e4000
mmap(0x7f9d428e5000, 4096, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f9d428e5000
mmap(0x7f9d428e6000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f9d428e6000 close(3) = 0
openat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/jli/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
openat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
openat(AT_FDCWD, "/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0p\0\4\0\0\0\0\0"..., 832) = 832
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
pread64(3, "\4\0\0\0 \0\0\0\5\0\0\0GNU\0\2\0\0\300\4\0\0\0\3\0\0\0\0\0\0\0"..., 48, 848) = 48
pread64(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\263\235F\212\352\326\331\355\342'u\37\376\t=\242"..., 68, 896) = 68
newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=2387200, ...}, AT_EMPTY_PATH) = 0
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
mmap(NULL, 2133936, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f9d426da000
mprotect(0x7f9d42702000, 1892352, PROT_NONE) = 0
mmap(0x7f9d42702000, 1527808, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x28000) = 0x7f9d42702000
mmap(0x7f9d42877000, 360448, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x19d000) = 0x7f9d42877000
mmap(0x7f9d428d0000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1f5000) = 0x7f9d428d0000
mmap(0x7f9d428d6000, 53168, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f9d428d6000 close(3) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f9d426d8000
arch_prctl(ARCH_SET_FS, 0x7f9d426d8b80) = 0
set_tid_address(0x7f9d426d8e50) = 3603276
set_robust_list(0x7f9d426d8e60, 24) = 0
rseq(0x7f9d426d9520, 0x20, 0, 0x53053053) = 0
mprotect(0x7f9d428d0000, 16384, PROT_READ) = 0
mprotect(0x7f9d428e6000, 4096, PROT_READ) = 0
mprotect(0x7f9d42b01000, 4096, PROT_READ) = 0
mprotect(0x7f9d42b45000, 8192, PROT_READ) = 0
prlimit64(0, RLIMIT_STACK, NULL, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0
munmap(0x7f9d42b03000, 45463) = 0
getrandom("\x23\xb3\x9c\xe2\x15\x5f\x61\xaa", 8, GRND_NONBLOCK) = 8
brk(NULL) = 0x1ddf000 brk(0x1e00000) = 0x1e00000
readlink("/proc/self/exe", "/usr/local/jdk/bin/java", 4096) = 23
access("/usr/local/jdk/lib/amd64/libjava.so", F_OK) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
access("/usr/local/jdk/jre/lib/amd64/libjava.so", F_OK) = 0
openat(AT_FDCWD, "/usr/local/jdk/jre/lib/amd64/jvm.cfg", O_RDONLY) = 3
newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=627, ...}, AT_EMPTY_PATH) = 0
read(3, "# Copyright (c) 2003, 2013, Orac"..., 4096) = 627 read(3, "", 4096) = 0
close(3) = 0
stat("/usr/local/jdk/jre/lib/amd64/server/libjvm.so", {st_mode=S_IFREG|0755, st_size=16835277, ...}) = 0
openat(AT_FDCWD, "/usr/local/jdk/jre/lib/amd64/server/libjvm.so", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260\304!\0\0\0\0\0"..., 832) = 832
newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=16835277, ...}, AT_EMPTY_PATH) = 0
mmap(NULL, 16547336, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f9d41710000
mprotect(0x7f9d423be000, 2093056, PROT_NONE) = 0
mmap(0x7f9d425bd000, 880640, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xcad000) = 0x7f9d425bd000
mmap(0x7f9d42694000, 278024, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f9d42694000 close(3) = 0
openat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/jli/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
openat(AT_FDCWD, "/usr/local/jdk/bin/../lib/amd64/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (그런 파일이나 디렉터리가 없습니다)
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=45463, ...}, AT_EMPTY_PATH) = 0
mmap(NULL, 45463, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f9d42b03000 close(3) = 0
openat(AT_FDCWD, "/lib64/libm.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220\323\0\0\0\0\0\0"..., 832) = 832
newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=904688, ...}, AT_EMPTY_PATH) = 0
mmap(NULL, 893184, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f9d41635000
mmap(0x7f9d41642000, 458752, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xd000) = 0x7f9d41642000
mmap(0x7f9d416b2000, 376832, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x7d000) = 0x7f9d416b2000
mmap(0x7f9d4170e000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xd8000) = 0x7f9d4170e000
close(3) = 0
mprotect(0x7f9d4170e000, 4096, PROT_READ) = 0
getpid() = 3603276
munmap(0x7f9d42b03000, 45463) = 0
getpid() = 3603276
rt_sigaction(SIGRT_1, {sa_handler=0x7f9d42776b70, sa_mask=[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x7f9d4272edf0}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
mmap(NULL, 1052672, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7f9d41534000
mprotect(0x7f9d41535000, 1048576, PROT_READ|PROT_WRITE) = 0
rt_sigprocmask(SIG_BLOCK, ~[], [], 8) = 0
clone3({flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, child_tid=0x7f9d41634910, parent_tid=0x7f9d41634910, exit_signal=0, stack=0x7f9d41534000, stack_size=0xfff00, tls=0x7f9d41634640} => {parent_tid=[3603277]}, 88) = 3603277
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
futex(0x7f9d41634910, FUTEX_WAIT_BITSET|FUTEX_CLOCK_REALTIME, 3603277, NULL, FUTEX_BITSET_MATCH_ANYHello Java !! ) = 0
exit_group(0) = ? +++ exited with 0 +++
반응형
'개발 > 개발관련' 카테고리의 다른 글
[개발관련] 인텔리제이 특정 패턴 일괄 변경 (0) | 2024.03.31 |
---|---|
[개발관련] SNMP walk, bulkwalk 비교 (1) | 2024.03.30 |
[개발관련] Spring Boot max-request-size (413 Request Entity Too Large) (0) | 2024.03.27 |
[개발관련] wireshark, multipart/form-data http message 캡쳐 (1) | 2024.03.27 |
[개발관련] DBeaver 테이블 명세 추출 쿼리 (0) | 2024.02.13 |