리눅스 시스템 호출 정리

이하 문서는 리눅스의 시스템 콜(x86)을 일부 정리한 문서입니다.
시스템 호출의 이름(Name)을 클릭하면 해당 시스템 호출에 대한 자세한 정보를 안내하는 공식 페이지로 이동됩니다.
또한 Definintion 항목을 클릭하면 해당 시스템 호출이 정의되어 있는 리눅스 내의 소스코드로 이동됩니다.
(정확한 소스 코드의 라인 넘버는 리눅스 커널 버전이 업데이트됨에 따라 정확히 들어맞지 않을 수 있습니다)
혹여 영문이 어렵거나 특정 시스템 호출에 대한 추가 설명이 필요하다면 이 곳으로 문의 바랍니다.
영문 해석이 어렵다는 문의가 많을 경우 해석본을 올려드리겠습니다.

또한 리눅스의 시스템 콜을 이보다 상세히 안내한 다른 문서들도 하단 링크에 첨부드립니다. 함께 참고하시면 도움이 될 것입니다.
Chromium OS docs: Linux System Call Table

Name Description Definition
read read from a file descriptor fs/read_write.c:584
write write to a file descriptor fs/read_write.c:599
open open and possibly create a file fs/fhandle.c:255
close close a file descriptor fs/open.c:1127
poll wait for some event on a file descriptor fs/select.c:971
lseek reposition read/write file offset fs/read_write.c:305
mmap map or unmap files or devices into memory arch/microblaze/kernel/sys_microblaze.c:36
mprotect set protection on a region of memory mm/mprotect.c:494
munmap map or unmap files or devices into memory mm/mmap.c:2681
brk change data segment size mm/mmap.c:181
rt_sigaction examine and change a signal action kernel/signal.c:3321
rt_sigprocmask examine and change blocked signals kernel/signal.c:2548
ioctl control device fs/ioctl.c:689
pread64 read from or write to a file descriptor at a given offset fs/read_write.c:616
pwrite64 read from or write to a file descriptor at a given offset fs/read_write.c:636
readv read or write data into multiple buffers fs/read_write.c:1008
writev read or write data into multiple buffers fs/read_write.c:1014
access check user's permissions for a file fs/open.c:430
pipe create pipe fs/pipe.c:861
select synchronous I/O multiplexing fs/select.c:634
sched_yield yield the processor kernel/sched/core.c:4882
mremap remap a virtual memory address mm/mremap.c:491
msync synchronize a file with a memory map mm/msync.c:31
mincore determine whether pages are resident in memory mm/mincore.c:222
madvise give advice about use of memory mm/madvise.c:677
shmget allocates a System V shared memory segment ipc/shm.c:657
shmat System V shared memory operations ipc/shm.c:1255
shmctl System V shared memory control ipc/shm.c:987
dup duplicate a file descriptor fs/file.c:938
dup2 duplicate a file descriptor fs/file.c:923
pause wait for signal kernel/signal.c:3518
nanosleep high kernel/time/hrtimer.c:1576
getitimer get or set value of an interval timer kernel/time/itimer.c:103
alarm set an alarm clock for delivery of a signal kernel/time/itimer.c:284
setitimer get or set value of an interval timer kernel/time/itimer.c:291
getpid get process identification kernel/sys.c:830
sendfile64 transfer data between file descriptors fs/read_write.c:1448
socket create an endpoint for communication net/socket.c:1249
connect initiate a connection on a socket net/socket.c:1560
accept accept a connection on a socket net/socket.c:1542
sendto send a message on a socket net/socket.c:1655
recvfrom receive a message from a socket net/socket.c:1711
sendmsg send a message on a socket net/socket.c:2026
recvmsg receive a message from a socket net/socket.c:2196
shutdown shut down part of a full net/socket.c:1831
bind bind a name to a socket net/socket.c:1399
listen listen for connections on a socket net/socket.c:1428
getsockname get socket name net/socket.c:1592
getpeername get name of connected peer socket net/socket.c:1623
socketpair create a pair of connected sockets net/socket.c:1290
setsockopt get and set options on sockets net/socket.c:1767
getsockopt get and set options on sockets net/socket.c:1801
exit terminate the calling process kernel/exit.c:910
wait4 wait for process to change state, BSD style kernel/exit.c:1664
kill send signal to a process kernel/signal.c:2860
newuname kernel/sys.c:1141
semget get a System V semaphore set identifier ipc/sem.c:545
semop System V semaphore operations ipc/sem.c:2012
semctl System V semaphore control operations ipc/sem.c:1576
shmdt System V shared memory operations ipc/shm.c:1271
msgget get a System V message queue identifier ipc/msg.c:265
msgsnd System V message queue operations ipc/msg.c:743
msgrcv System V message queue operations ipc/msg.c:1007
msgctl System V message control operations ipc/msg.c:555
fcntl manipulate file descriptor fs/fcntl.c:357
flock apply or remove an advisory lock on an open file fs/locks.c:1988
fsync synchronize a file's in fs/sync.c:225
fdatasync synchronize a file's in fs/sync.c:230
truncate truncate a file to a specified length fs/open.c:153
ftruncate truncate a file to a specified length fs/open.c:212
getdents get directory entries fs/readdir.c:211
getcwd get current working directory fs/dcache.c:3413
chdir change working directory fs/open.c:435
fchdir change working directory fs/open.c:461
rename change the name or location of a file fs/namei.c:4570
mkdir create a directory fs/namei.c:3770
rmdir delete a directory fs/namei.c:3873
creat open and possibly create a file fs/open.c:1089
link make a new name for a file fs/namei.c:4242
unlink delete a name and possibly the file it refers to fs/namei.c:4026
symlink make a new name for a file fs/namei.c:4083
readlink read value of a symbolic link fs/stat.c:351
chmod change permissions of a file fs/open.c:579
fchmod change permissions of a file fs/open.c:548
chown change ownership of a file fs/open.c:658
fchown change ownership of a file fs/open.c:669
lchown change ownership of a file fs/open.c:663
umask set file mode creation mask kernel/sys.c:1647
gettimeofday get / set time kernel/time/time.c:102
getrlimit get/set resource limits kernel/sys.c:1290
getrusage get resource usage kernel/sys.c:1625
sysinfo return system information kernel/sys.c:2350
times get process times kernel/sys.c:895
ptrace process trace kernel/ptrace.c:1108
getuid get user identity kernel/sys.c:858
syslog read and/or clear kernel message ring buffer; set console_loglevel kernel/printk/printk.c:1503
getgid get group identity kernel/sys.c:870
setuid set user identity kernel/sys.c:533
setgid set group identity kernel/sys.c:386
geteuid get user identity kernel/sys.c:864
getegid get group identity kernel/sys.c:876
setpgid set/get process group kernel/sys.c:919
getppid get process identification kernel/sys.c:847
getpgrp set/get process group kernel/sys.c:1020
setsid creates a session and sets the process group ID kernel/sys.c:1066
setreuid set real and/or effective user or group ID kernel/sys.c:462
setregid set real and/or effective user or group ID kernel/sys.c:329
getgroups get/set list of supplementary group IDs kernel/groups.c:165
setgroups get/set list of supplementary group IDs kernel/groups.c:202
setresuid set real, effective and saved user or group ID kernel/sys.c:580
getresuid get real, effective and saved user/group IDs kernel/sys.c:645
setresgid set real, effective and saved user or group ID kernel/sys.c:667
getresgid get real, effective and saved user/group IDs kernel/sys.c:719
getpgid set/get process group kernel/sys.c:990
setfsuid set user identity used for filesystem checks kernel/sys.c:746
setfsgid set group identity used for filesystem checks kernel/sys.c:785
getsid get session ID kernel/sys.c:1027
capget set/get capabilities of thread(s) kernel/capability.c:149
capset set/get capabilities of thread(s) kernel/capability.c:223
rt_sigpending kernel/signal.c:2638
rt_sigtimedwait synchronously wait for queued signals kernel/signal.c:2824
rt_sigqueueinfo queue a signal and data kernel/signal.c:2972
rt_sigsuspend wait for a signal kernel/signal.c:3548
sigaltstack set and/or get signal stack context kernel/signal.c:3173
utime change file last access and modification times fs/utimes.c:27
mknod create a special or ordinary file fs/namei.c:3714
personality set the process execution domain kernel/exec_domain.c:50
ustat get filesystem statistics fs/statfs.c:228
statfs get filesystem statistics fs/statfs.c:172
fstatfs get filesystem statistics fs/statfs.c:193
sysfs get filesystem type information fs/filesystems.c:184
getpriority get/set program scheduling priority kernel/sys.c:245
setpriority get/set program scheduling priority kernel/sys.c:175
sched_setparam set and get scheduling parameters kernel/sched/core.c:4491
sched_getparam set and get scheduling parameters kernel/sched/core.c:4565
sched_setscheduler set and get scheduling policy/parameters kernel/sched/core.c:4474
sched_getscheduler set and get scheduling policy/parameters kernel/sched/core.c:4536
sched_get_priority_max get static priority range kernel/sched/core.c:5093
sched_get_priority_min get static priority range kernel/sched/core.c:5120
sched_rr_get_interval get the SCHED_RR interval for the named process kernel/sched/core.c:5149
mlock lock and unlock memory mm/mlock.c:712
munlock lock and unlock memory mm/mlock.c:730
mlockall lock and unlock memory mm/mlock.c:791
munlockall lock and unlock memory mm/mlock.c:822
vhangup virtually hangup the current terminal fs/open.c:1146
pivot_root change the root filesystem fs/namespace.c:3086
sysctl read/write system parameters kernel/sysctl_binary.c:1411
prctl operations on a process kernel/sys.c:2066
adjtimex tune kernel clock kernel/time/time.c:218
setrlimit get/set resource limits kernel/sys.c:1491
chroot change root directory fs/open.c:486
sync commit filesystem caches to disk fs/sync.c:107
acct switch process accounting on or off kernel/acct.c:270
settimeofday get / set time kernel/time/time.c:193
mount mount filesystem fs/namespace.c:3002
umount unmount filesystem fs/namespace.c:1666
swapon start/stop swapping to file/device mm/swapfile.c:2387
swapoff start/stop swapping to file/device mm/swapfile.c:1856
reboot reboot or enable/disable Ctrl kernel/reboot.c:280
sethostname get/set hostname kernel/sys.c:1215
setdomainname get/set NIS domain name kernel/sys.c:1266
init_module load a kernel module kernel/module.c:3770
delete_module unload a kernel module kernel/module.c:934
quotactl manipulate disk quotas fs/quota/quota.c:835
gettid get thread identification kernel/sys.c:836
readahead initiate file readahead into page cache mm/readahead.c:576
setxattr set an extended attribute value fs/xattr.c:479
lsetxattr set an extended attribute value fs/xattr.c:486
fsetxattr set an extended attribute value fs/xattr.c:493
getxattr retrieve an extended attribute value fs/xattr.c:576
lgetxattr retrieve an extended attribute value fs/xattr.c:582
fgetxattr retrieve an extended attribute value fs/xattr.c:588
listxattr list extended attribute names fs/xattr.c:655
llistxattr list extended attribute names fs/xattr.c:661
flistxattr list extended attribute names fs/xattr.c:667
removexattr remove an extended attribute fs/xattr.c:720
lremovexattr remove an extended attribute fs/xattr.c:726
fremovexattr remove an extended attribute fs/xattr.c:732
tkill send a signal to a thread kernel/signal.c:2942
time get time in seconds kernel/sys.c:895
futex fast user kernel/futex.c:3243
sched_setaffinity set and get a thread's CPU affinity mask kernel/sched/core.c:4794
sched_getaffinity set and get a thread's CPU affinity mask kernel/sched/core.c:4846
io_setup create an asynchronous I/O context fs/aio.c:1341
io_destroy destroy an asynchronous I/O context fs/aio.c:1410
io_getevents read asynchronous I/O events from the completion queue fs/aio.c:1821
io_submit submit asynchronous I/O blocks for processing fs/aio.c:1694
io_cancel cancel an outstanding asynchronous I/O operation fs/aio.c:1769
lookup_dcookie return a directory entry's path fs/dcookies.c:149
epoll_create open an epoll file descriptor fs/eventpoll.c:1836
remap_file_pages create a nonlinear file mapping mm/mmap.c:2698
getdents64 get directory entries fs/readdir.c:294
set_tid_address set pointer to thread ID kernel/fork.c:1411
restart_syscall restart a system call after interruption by a stop signal kernel/signal.c:2454
semtimedop System V semaphore operations ipc/sem.c:1755
fadvise64 predeclare an access pattern for file data mm/fadvise.c:181
timer_create create a POSIX per kernel/time/posix-timers.c:602
timer_settime arm/disarm and fetch state of POSIX per kernel/time/posix-timers.c:881
timer_gettime arm/disarm and fetch state of POSIX per kernel/time/posix-timers.c:777
timer_getoverrun get overrun count for a POSIX per kernel/time/posix-timers.c:813
timer_delete delete a POSIX per kernel/time/posix-timers.c:944
clock_settime clock and time functions kernel/time/posix-stubs.c:49
clock_gettime clock and time functions kernel/time/posix-stubs.c:61
clock_getres clock and time functions kernel/time/posix-stubs.c:77
clock_nanosleep high kernel/time/posix-stubs.c:96
exit_group exit all threads in a process kernel/exit.c:952
epoll_wait wait for an I/O event on an epoll file descriptor fs/eventpoll.c:2005
epoll_ctl control interface for an epoll file descriptor fs/eventpoll.c:1849
tgkill send a signal to a thread kernel/signal.c:2926
utimes change file last access and modification times fs/utimes.c:217
mbind set memory policy for a memory range mm/mempolicy.c:1332
set_mempolicy set default NUMA memory policy for a thread and its children mm/mempolicy.c:1354
get_mempolicy retrieve NUMA memory policy for a thread mm/mempolicy.c:1469
mq_open open a message queue ipc/mqueue.c:769
mq_unlink remove a message queue ipc/mqueue.c:850
mq_timedsend send a message to a message queue ipc/mqueue.c:956
mq_timedreceive receive a message from a message queue ipc/mqueue.c:1077
mq_notify register for notification when a message is available ipc/mqueue.c:1187
mq_getsetattr get/set message queue attributes ipc/mqueue.c:1319
kexec_load load a new kernel for later execution kernel/kexec.c:187
waitid wait for process to change state kernel/exit.c:1595
add_key add a key to the kernel's key management facility security/keys/keyctl.c:60
request_key request a key from the kernel's key management facility security/keys/keyctl.c:158
keyctl manipulate the kernel's key management facility security/keys/keyctl.c:1586
ioprio_set get/set I/O scheduling class and priority block/ioprio.c:61
ioprio_get get/set I/O scheduling class and priority block/ioprio.c:181
inotify_init initialize an inotify instance fs/notify/inotify/inotify_user.c:694
inotify_add_watch add a watch to an initialized inotify instance fs/notify/inotify/inotify_user.c:699
inotify_rm_watch remove an existing watch from an inotify instance fs/notify/inotify/inotify_user.c:756
migrate_pages move all pages in a process to another set of nodes mm/mempolicy.c:1373
openat open and possibly create a file fs/open.c:1074
mkdirat create a directory fs/namei.c:3745
mknodat create a special or ordinary file fs/namei.c:3670
fchownat change ownership of a file fs/open.c:626
futimesat change timestamps of a file relative to a directory file descriptor fs/utimes.c:189
newfstatat get file status fs/stat.c:291
unlinkat delete a name and possibly the file it refers to fs/namei.c:4015
renameat change the name or location of a file fs/namei.c:4564
linkat make a new name for a file fs/namei.c:4177
symlinkat make a new name for a file fs/namei.c:4052
readlinkat read value of a symbolic link fs/stat.c:315
fchmodat change permissions of a file fs/open.c:561
faccessat check user's permissions for a file fs/open.c:354
pselect6 synchronous I/O multiplexing fs/select.c:714
ppoll wait for some event on a file descriptor fs/select.c:1005
unshare disassociate parts of the process execution context kernel/fork.c:2181
set_robust_list get/set list of robust futexes kernel/futex.c:2986
get_robust_list get/set list of robust futexes kernel/futex.c:3008
splice splice data to/from a pipe fs/splice.c:1400
tee duplicating pipe content fs/splice.c:1733
sync_file_range sync a file segment with disk fs/sync.c:282
vmsplice splice user pages into a pipe fs/splice.c:1354
move_pages move individual pages of a process to another node mm/migrate.c:1663
utimensat change file timestamps with nanosecond precision fs/utimes.c:171
epoll_pwait wait for an I/O event on an epoll file descriptor fs/eventpoll.c:2051
signalfd create a file descriptor for accepting signals fs/signalfd.c:309
timerfd_create timers that notify via file descriptors fs/timerfd.c:376
eventfd create a file descriptor for event notification fs/eventfd.c:483
fallocate manipulate file space fs/open.c:337
timerfd_settime timers that notify via file descriptors fs/timerfd.c:524
timerfd_gettime timers that notify via file descriptors fs/timerfd.c:542
accept4 accept a connection on a socket net/socket.c:1461
signalfd4 create a file descriptor for accepting signals fs/signalfd.c:255
eventfd2 create a file descriptor for event notification fs/eventfd.c:458
epoll_create1 open an epoll file descriptor fs/eventpoll.c:1793
dup3 duplicate a file descriptor fs/file.c:889
pipe2 create pipe fs/pipe.c:839
inotify_init1 initialize an inotify instance fs/notify/inotify/inotify_user.c:669
preadv read or write data into multiple buffers fs/read_write.c:1020
pwritev read or write data into multiple buffers fs/read_write.c:1040
rt_tgsigqueueinfo queue a signal and data kernel/signal.c:3013
perf_event_open set up performance monitoring kernel/events/core.c:9614
recvmmsg receive multiple messages on a socket net/socket.c:2315
fanotify_init create and initialize fanotify group fs/notify/fanotify/fanotify_user.c:707
fanotify_mark add, remove, or modify an fanotify mark on a filesystem object fs/notify/fanotify/fanotify_user.c:815
prlimit64 get/set resource limits kernel/sys.c:1449
name_to_handle_at obtain handle for a pathname and open file via a handle fs/fhandle.c:92
open_by_handle_at obtain handle for a pathname and open file via a handle fs/fhandle.c:255
clock_adjtime kernel/time/posix-timers.c:1045
syncfs commit filesystem caches to disk fs/sync.c:154
sendmmsg send multiple messages on a socket net/socket.c:2101
setns reassociate thread with a namespace kernel/nsproxy.c:236
getcpu determine CPU and NUMA node on which the calling thread is running kernel/sys.c:2271
process_vm_readv transfer data between process address spaces mm/process_vm_access.c:299
process_vm_writev transfer data between process address spaces mm/process_vm_access.c:306
kcmp compare two processes to determine if they share a kernel resource kernel/kcmp.c:97
finit_module load a kernel module kernel/module.c:3790
sched_setattr set and get scheduling policy and attributes kernel/sched/core.c:4502
sched_getattr set and get scheduling policy and attributes kernel/sched/core.c:4643
renameat2 change the name or location of a file fs/namei.c:4421
seccomp operate on Secure Computing state of the process kernel/seccomp.c:796
getrandom obtain a series of random bytes drivers/char/random.c:1880
memfd_create create an anonymous file mm/shmem.c:3499
kexec_file_load load a new kernel for later execution kernel/kexec_file.c:260
bpf perform a command on an extended BPF map or program kernel/bpf/syscall.c:1005
userfaultfd create a file descriptor for handling page faults in user space fs/userfaultfd.c:1354
membarrier issue memory barriers on a set of threads kernel/membarrier.c:52
mlock2 lock and unlock memory mm/mlock.c:717
copy_file_range Copy a range of data from one file to another fs/read_write.c:1583
preadv2 read or write data into multiple buffers fs/read_write.c:1028
pwritev2 read or write data into multiple buffers fs/read_write.c:1048
pkey_mprotect set protection on a region of memory mm/mprotect.c:502
pkey_alloc allocate or free a protection key mm/mprotect.c:508
pkey_free allocate or free a protection key mm/mprotect.c:538