【 Linux 系统调用 】
努力把Linux/Unix 系统编程手册 上下两册以及Unix环境高级编程内容用自己的方式整理出来,希望能帮助到大家也能够提升自己
优惠券已抵扣
余额抵扣
还需支付
¥99.90
¥299.90
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
HarkerYX
学习各类技术CSDN博客专家!
热爱日系指弹!
目前就职新能源汽车行业!
展开
-
《Linux系统调用: vfork》
③. vfork() 保证子进程先运行,在它调用 exec(进程替换) 或 exit(退出进程)之后父进程才可能被调度运行。如果子进程没有调用 exec, exit, 程序则会导致死锁,程序是有问题的程序,没有意义。原创 2020-12-15 18:05:51 · 365 阅读 · 0 评论 -
《Linux系统调用:timerfd_create,timerfd_settime,timerfd_gettime》
代码】《Linux系统调用:timerfd_create,timerfd_settime,timerfd_gettime》原创 2020-12-15 16:08:52 · 1059 阅读 · 0 评论 -
《Linux 系统调用》学习导图
《Linux/Unix 系统调用》学习导图随时更新中...《Linux系统调用:通用自定义》《Linux系统调用:文件I/O篇》《Linux系统调用:文件属性篇》《Linux系统调用:用户篇》《Linux系统调用:内存篇》《Linux系统调用:事件信号篇》《Linux系统调用:系统篇》《Linu...原创 2019-10-21 10:15:17 · 830 阅读 · 1 评论 -
Linux 文件权限简单说明
在 Linux 中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录。通过设定权限可以从以下三种访问方式限制访问权限:只允许用户自己访问(所有者);允许一个预先指定的用户组中的用户访问(用户组);允许系统中的任何用户访问(其他用户)。所有者就是创建文件的用户,用户是所有用户所创建文件的所有者,用户可以允许所在的用户组能访问用户的文件。通常...原创 2018-12-10 10:25:56 · 367 阅读 · 0 评论 -
《Linux系统调用:通用自定义》
一、通用自定义// alt_functions.h#ifndef _ALT_FUNCTIONS_H_#define _ALT_FUNCTIONS_H_ /* Prevent accidental double inclusion */#if defined(__osf__) || defined(__hpux) || defined(_AIX) || \ ...原创 2019-10-23 17:04:36 · 404 阅读 · 0 评论 -
《Linux系统调用: system》
dd原创 2020-01-17 18:09:24 · 689 阅读 · 0 评论 -
《Linux系统调用: 环境变量PATH》
DD原创 2020-01-17 18:08:03 · 550 阅读 · 0 评论 -
《Linux系统调用: exec家族》
dd原创 2020-01-17 18:07:05 · 320 阅读 · 0 评论 -
《Linux系统调用: waitid》
dd原创 2020-01-17 18:02:06 · 325 阅读 · 0 评论 -
《Linux系统调用: wait,waitpid》
dd原创 2020-01-17 17:59:29 · 257 阅读 · 0 评论 -
《Linux系统调用: wait3,wait4,getrusage》
dd原创 2020-01-17 17:58:42 · 981 阅读 · 0 评论 -
《Linux系统调用: exit,_exit,atexit,on_exit》
dd原创 2020-01-17 17:57:17 · 394 阅读 · 0 评论 -
《Linux系统调用:clock_nanosleep》
dd原创 2020-01-17 15:56:20 · 1711 阅读 · 0 评论 -
《Linux系统调用:timer_create,timer_settime,timer_gettime,timer_delete》
dd原创 2020-01-15 14:37:47 · 1995 阅读 · 0 评论 -
《Linux系统调用:clock_getcpuclockid,pthread_getcpuclockid》
dd原创 2020-01-15 14:36:29 · 929 阅读 · 0 评论 -
《Linux系统调用:clock_gettime,clock_settime,clock_getres》
dd原创 2020-01-15 14:35:32 · 2108 阅读 · 0 评论 -
《Linux系统调用:sleep,nanosleep》
一、介绍sleep()低精度休眠,精度是秒 ,可以被信号中断,如果被信号中断返回剩余秒数。所以sleep,alarm,setitimer 最好不要结合使用nanosleep()高精度休眠,精度是纳秒,也是可以被信号中断。二、函数接口#include <unistd.h>unsigned int sleep(unsigned int seconds);参数: ...原创 2020-01-15 14:34:10 · 1849 阅读 · 0 评论 -
《Linux系统调用:setitimer,getitimer,alarm》
一、介绍setitimer()创建一个间隔式定时器(interval timer),会在未来某个点到期,并于此后每隔一段时间到期一次getitimer()获取定时器了解当前状态、距离下次到期的剩余时间alarm()为创建一次性实时定时器提供简单的一个接口二、接口函数#include <unistd.h>unsigned int alarm(unsigned i...原创 2020-01-15 14:32:05 · 468 阅读 · 0 评论 -
《Linux系统调用:raise,abort》
dd原创 2020-01-06 14:58:31 · 909 阅读 · 0 评论 -
《Linux系统调用:signalfd》
dd原创 2020-01-06 14:45:24 · 507 阅读 · 0 评论 -
《Linux系统调用:sigsuspend,sigwaitinfo,sigtimedwait》
dd原创 2020-01-06 14:44:48 · 898 阅读 · 0 评论 -
《Linux系统调用:sigaction,sigqueue》
一、介绍从UNIX系统继承过来的信号(SIGHUP~SIGSYS,前32个)都是不可靠信号,不支持排队(多次发送相同的信号,进程可能只能收到一次,可能会丢失)。SIGRTMIN 至 SIGRTMAX 的信号支持排队(发多少次, 就可以收到多少次, 不会丢失),故称为可靠信号。可靠信号就是实时信号,非可靠信号就是非实时信号。signal()函数只能提供简单的信号安装操作,使用 sig...原创 2019-12-30 17:54:14 · 319 阅读 · 0 评论 -
《Linux系统调用:sigprocmask,sigpending》
一、介绍信号阻塞集也称信号屏蔽集、信号掩码。每个进程都有一个阻塞集,创建子进程时子进程将继承父进程的阻塞集。信号阻塞集用来描述哪些信号递送到该进程的时候被阻塞(在信号发生时记住它,直到进程准备好时再将信号通知进程)。所谓阻塞并不是禁止传送信号, 而是暂缓信号的传送。若将被阻塞的信号从信号阻塞集中删除,且对应的信号在被阻塞时发生了,进程将会收到相应的信号。我们可以通过 sigproc...原创 2019-12-30 16:08:13 · 366 阅读 · 1 评论 -
《Linux系统调用:sigemptyset,sigfillset,sigaddset,sigdelset》
一、介绍多个信号可使用一个称之为信号集的数据结构来表示。(如果了解select,poll 是不是想到有点类似监视fd的东西?)信号集是为了方便对多个信号进行处理,一个用户进程常常需要对多个信号做出处理,在 Linux系统中引入了信号集(信号的集合)。这个信号集有点类似于我们的 QQ 群,一个个的信号相当于 QQ 群里的一个个好友。信号集是用来表示多个信号的数据类型(sigset_t)...原创 2019-12-30 15:43:36 · 1921 阅读 · 0 评论 -
《Linux系统调用:strsignal,psignal》
一、介绍每个信号都要一串与之相关的打印说明,这些描述位于数组sys_siglist[]中,但是相较于直接引用sys_siglist而已推荐使用strsignal(),因为strsignal()会对边界检查,如果指向存在信号返回可打印信息,如果不存在的信号打印错误字符串strsignal(sig) 返回指向信号的打印说明psignal()是可以传入自定义的字符串在返回指向信号打印说明前,...原创 2019-12-30 14:42:58 · 1140 阅读 · 0 评论 -
《Linux系统调用:kill,killpg》
一、介绍一个进程能够使用kill()向另外一个进程发送信号,接收信号进程和发送信号进程的所有者必须相同,或者发送信号进程的所有者是超级用户。如果进程无权发送信号给所请求的pid,那么kill调用失败,并设置errno为EPERM,若pid所指为一系列进程时,只要可以向其中之一发送信号,则kill调用成功。killpg()向某一进程组的所有成员发送一个信号。二、接口函数#i...原创 2019-12-30 14:15:15 · 1600 阅读 · 0 评论 -
《Linux系统调用:signal,pause》
一、介绍信号是事件发生时对进程的通知机制。信号是Linux 进程间通信的最古老的方式。信号是软件中断,它是在软件层次上对中断机制的一种模拟,是一种异步通信的方式。信号可以导致一个正在运行的进程被另一个正在运行的异步进程中断,转而处理某一个突发事件。信号与硬件中断的相似之处在于打断了程序执行的正常流程,大多数情况下,无法预测信号到达的精确时间。发往进程的多数信号通常是由内核发送的。信号可以...原创 2019-12-27 11:46:08 · 396 阅读 · 0 评论 -
《Linux系统调用:inotify API》
dd原创 2019-12-23 18:20:16 · 536 阅读 · 0 评论 -
《Linux系统调用:statvfs,fstatvfs》
dd原创 2019-12-23 17:38:13 · 1251 阅读 · 0 评论 -
《Linux系统调用:mount,umount,umount2》
dd原创 2019-12-23 17:37:06 · 2161 阅读 · 0 评论 -
《Linux系统调用:硬链接与符号链接》
dd原创 2019-12-23 17:12:22 · 205 阅读 · 0 评论 -
《Linux系统调用:getcwd,chdir,fchdir,chroot》
一、介绍getcwd() 获取进程的当前工作目录,得到的是绝对路径名chdir() 改变进程当前工作目录fchdir() 改变进程当前工作目录chroot() 改变进程的根目录,每个进程都有一个根目录,在 linux 系统中,系统默认的目录结构都是以 `/`,即是以根 (root) 开始的。而在使用 chroot 之后,系统的目录结构将以指定的位置作为 `/` 位置。解释绝对路径的...原创 2019-12-17 18:16:52 · 961 阅读 · 0 评论 -
《Linux系统调用:realpath,dirname,basename》
一、介绍realpath()作用是解析路径名dirname()作用是将路径名分解成目录部分basename()作用是将路径名分解成文件名部分,也就是dirname()+basename()就是完成的路径文件名二、接口函数#include <limits.h>#include <stdlib.h>// realpath()库函数对path(以空字符...原创 2019-12-17 18:15:34 · 1092 阅读 · 0 评论 -
《Linux系统调用:errno错误信息》
一、介绍由于很多系统调用函数调用出错的时候不仅仅是返回值判断还会设置errno全局共用的参数,所以这里总结errno各个参数的代表错误的含义,并且切记如果系统调用会改变errno变量,调用前要手动初始化 errno = 0, 包含的头文件是<errno.h><errno.h> 包含了: #include <bits/errno.h> #inc...原创 2019-12-17 11:24:02 · 648 阅读 · 0 评论 -
《Linux系统调用:opendir,readdir,closedir,rewinddir》
一、介绍opendir()和 fdopendir() 都是打开一个目录返回DIR 类型指针(目录的句柄)closedir() 关闭打开的目录句柄readdir() 从一个目录流读取连续的条目,返回时并未对文件名进行排序,按照文件在目录中出现的天然次序,也就是文件系统向目录中添加文件的次序 "ls -f" 查看的一样rewinddir() 可将目录流回到起点,类型C语言库函数中的 rewin...原创 2019-12-17 17:27:18 · 809 阅读 · 0 评论 -
《Linux系统调用:mkdir,rmdir,rename,remove》
一、介绍mkdir()创建一个目录rmdir()删除一个目录rename()重命名文件或者目录remove()移除一个文件或者目录二、接口函数#include <sys/stat.h>#include <sys/types.h>int mkdir(const char *pathname, mode_t mode);参数: pathname...原创 2019-12-16 15:08:22 · 628 阅读 · 0 评论 -
《Linux系统调用:symlink,readlink》
一、介绍symlink()用于创建一个符号链接。readlink()读取符号链接中的内容。#include <unistd.h>int symlink(const char *target, const char *linkpath);参数: target: 指定的文件路径名,可以是相对路径也可以是绝对路径 linkpath: 要创建的符号链接文件路径名,如果存...原创 2019-12-16 15:06:45 · 1007 阅读 · 0 评论 -
《Linux系统调用:link,unlink》
一、介绍硬链接相当于别名,软连接相当于快捷方式。link()系统调用创建硬链接。不会对符号链接进行解引用。若oldpath属于符号链接,则会将newpath创建为指向相同符号链接文件的全新硬链接(就是newpath也是符号链接,指向oldpath所指向的同一文件)unlink()系统调用移除一个硬链接(删除一个文件名),如果此链接是指向文件的最后一个链接,那么还将移除文件本身unlink...原创 2019-12-16 15:05:09 · 545 阅读 · 0 评论 -
《Linux系统调用:chmod,fchmod》
dd原创 2019-12-16 14:57:37 · 515 阅读 · 0 评论 -
《Linux系统调用:access,umask》
一、介绍access()检查调用进程是否可以访问文件路径名。如果路径名是符号链接,则将其取消引用。不推荐使用,了解就行!umask 进程文件模式创建掩码:当进程新建文件或目录时候,该属性用于指明<屏蔽>哪些权限位。#include <unistd.h>// int access(const char *pathname, int mode);参数...原创 2019-12-16 14:57:03 · 324 阅读 · 0 评论