이하 문서는 리눅스의 시스템 콜(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 |