进程环境
进程运行时,main
函数如何被调用?
命令行参数如何传递给进程?
存储空间的布局以及如何分配?
进程如何使用环境变量?
怎么限制进程使用的资源?
专注于工业物联网行业数据采集,嵌入式Linux系统裁剪,5G智慧网关软件开发等
进程运行时,main
函数如何被调用?
命令行参数如何传递给进程?
存储空间的布局以及如何分配?
进程如何使用环境变量?
怎么限制进程使用的资源?
口令文件/etc/passwd
和组文件/etc/group
经常被多个进程频繁使用。用户每次登录Linux和使用ls
命令都会访问口令文件。
除了直接访问文件之外,系统通过一些接口来对外提供信息,比如系统标识函数、时间和日期函数。
标准I/O库由ISO C标准制定的。标准I/O库相对于系统I/O处理了很多细节,比如缓冲区分配、以优化的块大小执行I/O(这个数据存储在stat
结构体中的st_blksize
字段)等。
系统I/O是以文件描述符来作为基础展开的,而标准I/O是围绕流进行的,打开或创建文件时会将流和文件关联起来。
获取与流相关的文件描述符可以使用函数fileno()
。
流和文件相关联为文件流,流和内存关联起来为内存流。
本文描述了文件的属性,主要是struct stat
结构体中的相关字段,比如文件所有者ID、文件所属组ID、块大小等。
其次详细描述了文件权限的相关内容,包括文件的基本权限、进程创建、读写文件的权限验证规则以及修改文件权限的相关接口等。
最后是文件系统简介,包含inode
、目录项等,以及文件时间,创建删除以及读写目录等。
本节主要介绍不带缓冲的I/O(unbuffered I/O),不带缓冲指的是每个read
和write
都会调用内核中的一个系统调用。
不带缓冲的I/O函数不是ISO C的标准函数,但是是符合POSIX的。
原子操作在多进程之间贡献文件变得相当重要。
主要涉及的函数有oepn, read, write, lseek, close; dup, fcntl, sync, fsync, ioctl
。
Mermaid
是基于Javascript
的一个图标可视化工具,可以使您基于代码创建图表。
Mermaid
的一个在线编辑站,在线编辑Mermaid。
下面是vim的配置文件,使用时需要将其拷贝到用户目录下,然后安装vundle
插件管理器(git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
),最后启动vim
执行PluginInstall
。
当前已经配置的插件有NerdTree
、YCM
、ALE
、airline
等
规则中的recipe
由一条或多条shell
命令组成, 并会按照顺序执行。
通常,这些命令执行的结果就是更新target
。
Linux用户可以使用多种不同的shell
程序,但Makefile
中的recipe
是由/bin/sh
来解释。
Makefile
中的规则是为了说明何时以及如何生成target
,规则列出了target
的prerequisites
和recipe
。
Makefiles
中包含5种内容,分别是显式规则、隐含规则、变量定义、指令以及注释。