UNIX编程环境(The UNIX Programming Environment) 备忘录(七)

第七章 UNIX系统调用


低级I/O
-------
所有的I/O都是由两个系统调用完成:read/write

fd  为文件描述符
buf 为字符数组
n   为要传输的字节数

int fd, n, nread, nwritten;
char buf[SIZE]

nread = read(fd, buf, n);
nwritten = write(fd, buf, n);


创建文件
--------
两个系统调用:open/creat

fd 为文件描述符
name 为一个包含文件名的字符串
rwmode 0代表读, 1代表写, 2代表既可读也可写
perms 文件权限,-rwxrw-r--对应的perms值0764

char *name;
int fd, rwmode, perms;

fd = open(name, rwmode);
fd = creat(name, perms);


随机访问
--------
系统调用:lseek (l表示long, 单词seek的意思是寻找)

origin 0表示文件的开始, 1表示当前位置, 2代表末尾
返回值是当前新的绝对位置,如果出错,返回-1

ind fd, origin;
long offset, pos, lseeek();

pos = lseek(fd, offset, origin);

==========================================

文件系统
--------


目录
----
struct direct //参见 /usr/include/sys/dir.h


I节点  
-----
struct stat //参见 /usr/include/sys/stat.h

 

==========================================
进程
----


创建低级进程
------------
execlp
execvp

 

系统调用:dup/close/fork/wait
dup(fd)  在最低序号的未分配的文件描述符上复制文件描述符fd,
  返回志向相同打开文件的一个新的文件描述符
close(fd) 关闭文件描述符fd
fork
wait

==========================================
信号与中断
----------

系统调用:
signal() 
alarm()


函数:
setjmp()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值