The following is a list of Linux system calls that contain most common system calls and functions derived from system calls. This is probably the only list of Linux system calls you can see on the Internet, even if it's a simple alphabetical list, and it's quite rare.
By convention, this list is modelled on the 2nd section of man pages, the system call section. According to the author's understanding, it made a general classification, at the same time, some minor changes have been made, deleting a few system calls for kernel use only, not allowing users to call, making minor modifications to individual points where they are slightly inappropriate, and attaching a brief comment to all listed system calls.
Some of these functions function exactly the same, except for different parameters. (perhaps many familiar C + + friends can immediately associate the function overload, but do not forget that the Linux core is written in C, so you can only take a different function name). There are also some functions that are obsolete, replaced by newer and better functions (GCC warns when linking to these functions), but because they remain for compatibility reasons, these functions will be marked with a "*" number in front of them.
First, Process Control:
Fork |
Create a new process |
Clone |
Create child processes by specified criteria |
Execve |
Running an executable file |
Exit |
Abort process |
_exit |
Abort the current process immediately |
Getdtablesize |
Maximum number of files that the process can open |
Getpgid |
Gets the specified process group identification number |
Setpgid |
Sets the specified process group flag number |
Getpgrp |
Get the current Process group identification number |
Setpgrp |
Set the current Process group flag number |
Getpid |
Get process identification number |
Getppid |
Get the parent process identification number |
GetPriority |
Get scheduling priority |
SetPriority |
Set scheduling priority |
Modify_ldt |
Local Description table for read-write process |
Nanosleep |
Make a process sleep specified time |
Nice |
Change the priority of a time-sharing process |
Pause |
Suspend process, wait for signal |
Personality |
Set up a process run domain |
Prctl |
To perform specific operations on a process |
Ptrace |
Process tracking |
Sched_get_priority_max |
Gets the upper limit of the static priority |
Sched_get_priority_min |
Get the lower bound of a static priority |
Sched_getparam |
Get scheduling parameters for a process |
Sched_getscheduler |
Gets the scheduling policy for the specified process |
Sched_rr_get_interval |
Gets the time slice length of the real-time process scheduled by the RR algorithm |
Sched_setparam |
Set schedule parameters for a process |
Sched_setscheduler |
To set scheduling policies and parameters for a specified process |
Sched_yield |
The process proactively conceded the processor and waited for the queue to be dispatched. |
Vfork |
Create a subprocess to execute a new program, often with EXECVE, etc. |
Wait |
Wait for child process to terminate |
Wait3 |
See also wait |
Waitpid |
Wait for the specified child process to terminate |
Wait4 |
See Waitpid |
Capget |
Get Process Permissions |
Capset |
Set process Permissions |
GetSID |
Get the meeting identification number |
Setsid |
Set up a meeting identification number |
Second, file system control
1. File Read and write operation
Fcntl |
File control |
Open |
Open File |
creat |
Create a new file |
Close |
Close the file description Word |
Read |
Read files |
Write |
Write a file |
Readv |
Reading data from a file into a buffer array |
Writev |
Writes data from a buffer array to a file |
Pread |
Read randomly to a file |
Pwrite |
Write randomly to a file |
Lseek |
Move file pointer |
_llseek |
Moving a file pointer in a 64-bit address space |
Dup |
Copy an open file descriptor |
Dup2 |
Copy a file descriptor by specified criteria |
Flock |
File Plus/unlock |
Poll |
I/o multi-channel conversion |
Truncate |
Truncate file |
Ftruncate |
See truncate |
Umask |
Set File Permission Mask |
Fsync |
Write the file back to disk in the memory section |
2. File System operation
Access |
Determining the accessibility of a file |
ChDir |
Change the current working directory |
Fchdir |
See ChDir |
chmod |
Change file Mode |
Fchmod |
See chmod |
Chown |
Change the owner or user group of a file |
Fchown |
See Chown |
Lchown |
See Chown |
Chroot |
Change the root directory |
Stat |
Take file status information |
Lstat |
See Stat |
Fstat |
See Stat |
Statfs |
Fetching File System Information |
Fstatfs |
See Statfs |
Readdir |
Reading directory entries |
Getdents |
Reading directory entries |
Mkdir |
Create a table of contents |
Mknod |
To create an index node |
RmDir |
Delete Directory |
Rename |
File name change |
Link |
Create a link |
Symlink |
Create a symbolic link |
Unlink |
Delete link |
Readlink |
Read the value of a symbolic link |
Mount |
Installing the file system |
Umount |
Removing the file system |
Ustat |
Fetching File System Information |
Utime |
Change the file access modification time |
Utimes |
See Utime |
Quotactl |
Controlling disk quotas |
Third, System control
Ioctl |
I/O Total control function |
_sysctl |
Read/write system parameters |
Acct |
Enable or disable process accounting |
Getrlimit |
Get System Resource Caps |
Setrlimit |
Set the system resource limit |
Getrusage |
Get System Resource Usage |
Uselib |
Select the binary function library to use |
Ioperm |
Set Port I/O permissions |
Iopl |
Change process I/O permission level |
Outb |
Low-level port operation |
Reboot |
Reboot |
Swapon |
Open swap files and devices |
Swapoff |
Turn off swap files and devices |
Bdflush |
Controlling the Bdflush daemon |
Sysfs |
File system type with core support |
SysInfo |
Get System Information |
Adjtimex |
Adjust system clock |
Alarm |
Set the alarm clock for the process |
Getitimer |
Get timer value |
Setitimer |
Set Timer value |
Gettimeofday |
Take time and TimeZone |
Settimeofday |
Setting times and time zones |
Stime |
Set system date and time |
Time |
Get system time |
Times |
Take process run time |
Uname |
Get information about the name, version, and host of the current UNIX system |
Vhangup |
Suspend current terminal |
Nfsservctl |
Controlling the NFS Daemon |
Vm86 |
Enter analog 8086 mode |
Create_module |
To create a loadable module item |
Delete_module |
To delete a loadable module item |
Init_module |
Initializing modules |
Query_module |
Query Module Information |
*get_kernel_syms |
Get the core symbol that has been replaced by Query_module |
Four, memory management
Brk |
Change the allocation of data segment space |
Sbrk |
See BRK |
Mlock |
Memory page Lock |
Munlock |
Memory page Unlock |
Mlockall |
Call Process all memory page lock |
Munlockall |
Call process all memory pages unlock |
Mmap |
Map Virtual Memory Pages |
Munmap |
removing memory page mappings |
Mremap |
Re-map virtual memory address |
Msync |
Write data from mapped memory back to disk |
Mprotect |
Set Memory image protection |
GetPageSize |
Get page size |
Sync |
Write memory buffer data back to the hard drive |
Cacheflush |
Writes the contents of the specified buffer back to disk |
V. Network Management
Getdomainname |
Take domain name |
Setdomainname |
Setting the domain name |
Gethostid |
Get host identification number |
Sethostid |
Set host identification number |
GetHostName |
Get this host name |
SetHostName |
Set host name |
Six, Socket control
Socketcall |
Socket system Call |
Socket |
Create a socket |
Bind |
Bind socket to Port |
Connect |
Connecting to a remote host |
Accept |
Responding to socket connection requests |
Send |
Sending information through the socket |
SendTo |
Send UDP information |
Sendmsg |
See Send |
Recv |
Receive information via socket |
Recvfrom |
Receive UDP information |
Recvmsg |
See recv |
Listen |
Listening on the socket port |
Select |
Polling for multiple sync I/O |
Shutdown |
Close the connection on the socket |
GetSockName |
Get local socket name |
Getpeername |
Gets the socket name of the communication partner |
GetSockOpt |
Fetch Port Settings |
SetSockOpt |
Set Port parameters |
Sendfile |
Transferring data between files or ports |
Socketpair |
Create a pair of joined nameless sockets |
VII. User Management
Getuid |
Get user identification number |
Setuid |
Set User flag number |
Getgid |
Get group identification number |
Setgid |
Set Group flag number |
Getegid |
Get a valid group identification number |
Setegid |
Set a valid group identification number |
Geteuid |
Get a valid user identification number |
Seteuid |
Set a valid user identification number |
Setregid |
Set up a real and valid group identification number, respectively |
Setreuid |
Set up a real and valid user identification number, respectively |
Getresgid |
Get the real, valid, and saved group identification number, respectively. |
Setresgid |
Set the real, valid, and saved group identification numbers individually |
Getresuid |
To obtain a true, valid, and saved user identification number, respectively. |
Setresuid |
Set up a real, valid, and saved user identification number, respectively |
Setfsgid |
Set the group identification number to use for file system checks |
Setfsuid |
Set the user identification number to use for file system checks |
GetGroups |
Get the back Up group flag list |
Setgroups |
Set up a back up group flag list |
VIII. Inter-process communication
Ipc |
Inter-process communication total Control call |
1, Signal
Sigaction |
Set the processing method for the specified signal |
Sigprocmask |
Perform blocking/unblocking of signals in a signal set based on parameters |
Sigpending |
Sets the queue for the specified blocked signal |
Sigsuspend |
Suspend process wait for specific signal |
Signal |
See Signal |
Kill |
Signal to a process or process group |
*sigblock |
Adds a signal to the blocked signal mask and has been replaced by Sigprocmask |
*siggetmask |
Gets the existing blocking signal mask, which has been replaced by Sigprocmask |
*sigsetmask |
Replaces an existing blocking signal mask with a given signal mask and has been replaced by Sigprocmask |
*sigmask |
Converts a given signal to a mask and has been replaced by Sigprocmask |
*sigpause |
function with Sigsuspend, has been replaced by sigsuspend |
Sigvec |
A signal-processing function for BSD-compatible functions similar to Sigaction |
Ssetmask |
ANSI c Signal processing functions that function like sigaction |
2. News
Msgctl |
Message Control Actions |
Msgget |
Getting Message Queuing |
Msgsnd |
Send a message |
Msgrcv |
Cancel Interest |
3, Pipeline
4, Signal volume
Semctl |
Control of Signal Volume |
Semget |
Get a set of semaphores |
Semop |
Semaphore operation |
5. Shared Memory
Shmctl |
Controlling shared memory |
Shmget |
Get shared memory |
Shmat |
Connect Shared memory |
Shmdt |
Remove shared memory |