readme 系统调用, 进程(上)
This commit is contained in:
parent
63a0e73009
commit
560a595823
32
README.md
32
README.md
|
@ -198,18 +198,44 @@ ssize_t read(int fd, void *addr, size_t count);
|
|||
|
||||
|
||||
#include <stdio.h>
|
||||
int remove(const char *pathname);
|
||||
int remove(const char *pathname); 【库函数】
|
||||
```
|
||||
|
||||
### 2.2 fcntl 函数
|
||||
|
||||
```
|
||||
```c
|
||||
// 修改标准的输入设备的标识为非阻塞
|
||||
int flags = fcntl(STDIN_FILENO, F_GETFL);
|
||||
flags |= O_NONBLOCK;
|
||||
fcntl(STDIN_FILENO, F_SETFL, flags);
|
||||
```
|
||||
|
||||
取消非阻塞
|
||||
|
||||
```c
|
||||
int flags = fcntl(STDIN_FILENO, F_GETFL);
|
||||
flags ^= O_NONBLOCK;
|
||||
fcntl(STDIN_FILENO, F_SETFL, flags);
|
||||
```
|
||||
|
||||
获取文件的类型(文件、目录)
|
||||
|
||||
```
|
||||
struct stat info;
|
||||
|
||||
stat(char *path, &info);
|
||||
|
||||
info.st_mode & S_IFDIR 是否为目录的验证
|
||||
info.st_mode & S_IFREG 是否为文件的验证
|
||||
```
|
||||
|
||||
打开目录和读取目录:
|
||||
|
||||
```
|
||||
dir *opendir(char *path)
|
||||
dirent *readdir(dir *)
|
||||
```
|
||||
|
||||
### 2.3 进程的定义
|
||||
|
||||
```
|
||||
|
@ -269,5 +295,5 @@ pid_t waitpid(pid_t pid, int *status, int options)
|
|||
|
||||
```
|
||||
WIFEXITED(status) 如果子进程是正常终止的,取出的字段值非零
|
||||
WEXITSTATUS(status) 返回子进程的退出状态,退出状态保存在 status 变量的 8~16 位。在用此宏前应先用宏 WIFEXITED 判断子进程是否正常退出,正常退出才可以使用此宏。
|
||||
WEXITSTATUS(status) 返回子进程的退出状态,退出状态保存在 status 变量的 8~16 位(低位的第2个字节)。在用此宏前应先用宏 WIFEXITED 判断子进程是否正常退出,正常退出才可以使用此宏。
|
||||
```
|
||||
|
|
Loading…
Reference in New Issue