随笔分类 -  Linux系统编程笔记

摘要:22.1 fork 和 vfork 函数 22.1.1 函数说明 函数说明: 一个现有进程可以调用fork函数创建一个新进程。 由fork创建的新进程被称为子进程(child process)。 fork函数被调用一次但返回两次。 两次返回的唯一区别是子进程中返回 0 值而父进程中返回子进程 ID。 阅读全文
posted @ 2018-06-04 21:04 游戏进行中 阅读(366) 评论(0) 推荐(0)
摘要:21.1 进程查看和进程状态 21.1.1 ps 指令 ps 指令通常可以查看到进程的 ID、进程的用户 ID、进程状态和进程的 Command ps:查看当前用户启动的进程 ps -ef:详细查看后台进程信息,可以用 ps -ef | more 进行分屏查看 ps -aux:当前运行的进程占用的C 阅读全文
posted @ 2018-06-03 20:37 游戏进行中 阅读(2109) 评论(0) 推荐(0)
摘要:21.1 进程资源限制 在操作系统中,我们能够通过函数getrlimit()、setrlimit()分别获得、设置每个进程能够创建的各种系统资源的限制使用量。 21.1.1 函数 函数功能:获得资源限制,存放在 rlp 指向的结构体中 函数参数: @resource:见下面的说明 @rlp:指向结构 阅读全文
posted @ 2018-06-02 21:59 游戏进行中 阅读(560) 评论(0) 推荐(0)
摘要:20.1 setjmp 和 longjmp 函数 20.1.1 函数介绍 函数功能:设置非局部跳转的跳转点(设置跳转点) 返回值:直接调用返回0,若从 longjmp 调用返回则返回0 这个函数会被执行两次,一次是自己本身使用的时候返回0,另一次再调用 longjump 的时候,此函数再返回 lon 阅读全文
posted @ 2018-06-02 20:40 游戏进行中 阅读(378) 评论(0) 推荐(0)
摘要:19.1 环境表 19.1.1 介绍 这是启动例程的第二各作用,搜集环境表,然后传递给主函数。 环境表就是一个指针数组。 环境表 每个进程都有一个独立的环境表 初始的环境表继承自父进程 主函数可以带三个参数,第三个参数则是环境表,可以通过第三个参数获取环境参数,也可以通过外部全局变量来定义环境表,e 阅读全文
posted @ 2018-06-01 23:32 游戏进行中 阅读(391) 评论(0) 推荐(0)
摘要:18.1 进程的概念 程序:程序(program)是存放再磁盘文件中的可执行文件 进程 程序的执行实例被称为进程(process) 一个程序的执行实例可能由多个 进程具有独立的权限和职责。如果系统中某个进程崩溃,它不会影响到其余的进程。 每个进程运行在其各自的虚拟地址空间中,进程之间可以通过由内核控 阅读全文
posted @ 2018-06-01 21:19 游戏进行中 阅读(279) 评论(0) 推荐(0)
摘要:主函数运行要去读取从标准输入或终端上输入的整个命令行,然后再去解析命令行参数,解析出来之后,要将其封装成一个 program,然后再将 program 放入 job 中,然后再去执行 job 中的命令行的内容。 17.1 job.o job.h 文件 job.c 文件 编译成 .o 文件 gcc - 阅读全文
posted @ 2018-05-29 22:06 游戏进行中 阅读(293) 评论(0) 推荐(0)
摘要:16.1 设备特殊文件介绍 每个文件系统所在的存储设备都由主、次设备号表示,文件系统为设备文件 major 和 minor 这两个宏可用来获得主、次设备号。所有文件都由对应的主设备号和次设备号,可以通过 st_dev 加这两个宏获得 只有字符特殊文件和块特殊文件俺才有 st_rdev 值,其他的设备 阅读全文
posted @ 2018-05-23 22:23 游戏进行中 阅读(387) 评论(0) 推荐(0)
摘要:15.1 目录操作函数 15.1.1 创建目录 函数说明: 该函数创建一个名为pathname的空目录,此目录自动含有 “.” 和 “..” 2 个登记项。这个新创建目录的用户 ID 被设置为调用进程的有效用户 ID,其组则为父目录的组 ID 或者进程的有效组 ID 若调用成功,mkdir 将更新该 阅读全文
posted @ 2018-05-21 22:29 游戏进行中 阅读(278) 评论(0) 推荐(0)
摘要:14.1 文件时间 存在于 stat 结构体中 14.2 文件时间函数 14.2.1 介绍 utime(修改文件的存取时间和更改时间) 相关函数 utimes,stat 函数功能 更改文件的存取和修改时间 utime 会自动更新 st_ctime 的值 参数 buf 空指针:则取当前时间 进程的有效 阅读全文
posted @ 2018-05-21 00:14 游戏进行中 阅读(479) 评论(0) 推荐(0)
摘要:13.1 软链接和硬链接介绍 13.1.1 软硬链接的创建 通过 ln 命令可以对文件创建软硬链接 创建硬链接 2 表示链接数 创建软链接 通过 ls -l 命令显示的文件类型为 l,表示文件类型为符号链接 若删除原始文件,对硬链接来说依然可以查看到文件内容,只不过链接数会减1,对软链接来说,则链接 阅读全文
posted @ 2018-05-20 22:39 游戏进行中 阅读(1040) 评论(0) 推荐(0)
摘要:12.1 Linux文件系统结构 12.1.1 文件操作基本元素 文件操作相关的最基本元素是:目录结构,索引节点和文件的数据本身 目录结构(目录项) 索引节点(i 节点) 文件的数据 目录结构(目录项) 索引节点(i 节点) 文件的数据 12.1.2 文件系统的三个区域 文件存在磁盘上分为三个区域: 阅读全文
posted @ 2018-05-20 19:55 游戏进行中 阅读(261) 评论(0) 推荐(0)
摘要:11.3 truncate 和 ftruncate 函数 文件截短函数 11.3.1 函数介绍 改变文件大小的函数 相关函数 open 函数说明 在文件尾端处截去一些数据以缩短文件 将一个文件的长度截短为 0 是一个特例,用 O_TRUNC 标志可以做到这一点 如果该文件以前的长度大于 length 阅读全文
posted @ 2018-05-20 19:03 游戏进行中 阅读(257) 评论(0) 推荐(0)
摘要:11.1 access 函数 11.1.1 函数介绍 access(判断是否具有存取文件的权限) 相关函数 stat,open,chmod,chown,setuid,setgid 函数说明 access()会检查是否可以读/写某一已存在的文件。 参数说明 @pathname:文件路径 access( 阅读全文
posted @ 2018-05-19 22:54 游戏进行中 阅读(330) 评论(0) 推荐(0)
摘要:10.1 文件 10.1.1 文件属性 文件属性都存放在 stat 结构体中 10.1.2 文件属性操作函数 获取文件属性: 函数说明 stat()用来将参数file_name所指的文件状态,复制到参数buf所指的结构中。 fstat()用来将参数fildes所指的文件状态,复制到参数buf所指的结 阅读全文
posted @ 2018-05-19 11:52 游戏进行中 阅读(277) 评论(0) 推荐(0)
摘要:例子如下: mystdio.h mystdio.c mystdio_test.c 编译调试: 阅读全文
posted @ 2018-05-18 22:26 游戏进行中 阅读(241) 评论(0) 推荐(0)
摘要:8.1 存储映射介绍 8.1.1 概念 存储映射是一个磁盘文件与存储空间的一个缓存相映射,对缓存数据的读写就相应的完成了文件的读写。 文件操作部分映射到虚拟内存的一块区域,我们对虚拟内存映射的那块区域进行读写操作,读写之后,那块区域自动同步到文件当中。 4G空间分布: 共享内存映射区就是文件映射到的 阅读全文
posted @ 2018-05-16 23:04 游戏进行中 阅读(569) 评论(0) 推荐(0)
摘要:7.1 I/O 处理方式 7.1.1 I/O处理的五种模型 阻塞I/O模型 若所调用的 I/O 函数没有完成相关的功能就会使进程挂起,直到相关数据到达才会返回。如 终端、网络设备的访问。 非阻塞模型 当请求的 I/O 操作不能完成时,则不让进程休眠,而且返回一个错误。如 open read writ 阅读全文
posted @ 2018-05-16 21:14 游戏进行中 阅读(877) 评论(0) 推荐(0)
摘要:6.1 fcntl 函数 6.1.1 函数介绍 函数说明:fcntl()用来操作文件描述词的一些特性。 函数功能:可以改变已经打开文件的性质 参数说明 @fd:代表欲设置的文件描述符 @cmd:代表欲操作的指令。有以下几种情况: F_DUPFD:用来查找大于或等于参数 arg 的最小且仍未使用的文件 阅读全文
posted @ 2018-05-14 22:22 游戏进行中 阅读(1432) 评论(0) 推荐(0)
摘要:5.1 dup 函数 复制文件描述符 5.1.1 简单cat实现及输入输出重定向 io.c cat.c 编译:gcc -o bin/cat -Iinclude src/io.c src/cat.c 调试: cat 的作用就输入和输出的重定向功能,而 dup 和 dup2 就是用来完成此功能的。 5. 阅读全文
posted @ 2018-05-13 22:20 游戏进行中 阅读(481) 评论(0) 推荐(0)