摘要:
一、程序 程序(program)是存放在磁盘上、处于某个目录中的一个可执行文件。使用6个exec函数中的一个由内核将程序读入存储器,并使其执行。二、进程和进程ID 程序的执行实例被称为进程(process)。某些操作系统使用任务(task)表示正在执行的程序。 UNIX系统确保每个进程都有一个唯一的数字标识符,称为进程ID(process ID)。进程ID总是一个非负整数。 程序清单1-4 打印进程ID[root@localhost unix_env_advance_prog]# cat prog1-4.c#include "apue.h"intmain(void){ p. 阅读全文
摘要:
一、文件描述符 文件描述符(file descriptor)通常是一个小的非负整数,内核用它标识一个特定进程正在访问的文件。当内核打开一个已有文件或创建一个新文件时,它返回一个文件描述符。在读、写文件时,就可以使用它。二、标准输入、标准输出和标准出错 按惯例,每当运行一个新程序时,所有的shell都会为其打开三个文件描述符:标准输入(standard input)、标准输出(standard output)以及标准出错(standard error)。如果没有做什么特殊处理(如重定向),则这三个描述符都链向终端。三、不用缓冲的I/O 函数open、read、write、lseek以及cl... 阅读全文
摘要:
程序清单1-1 列出一个目录中的所有文件(ls命令的简要实现):[root@localhost unix_env_advance_prog]# cat prog1-1.c #include "apue.h"#include int main(int argc, char *argv[]){ DIR *dp; struct dirent *dirp; if(argc != 2) err_quit("Usage: ls directory_name"); if((dp = open... 阅读全文
摘要:
[root@localhost unix_env_advance_prog]# cat error.c #include "apue.h"#include #include static void err_doit(int, int, const char *, va_list);/** Nonfatal error related to a system call.* Print a me... 阅读全文
摘要:
[root@localhost unix_env_advance_prog]# cat apue.h #ifndef _APUE_H#define _APUE_H#define _XOPEN_SOURCE 600#include #include #include #ifndef TIOCGWINSZ#include #endif#include #include #include #inc... 阅读全文
摘要:
首先,明确一个类型DIR的含义:#include DIR A type representing a directory stream. DIR是在目录项格式头文件dirent.h中定义的,它表示一个目录流类型。一、opendir - open a directorySYNOPSIS #include #include DIR *opendir(const char *name); DESCRIPTIONopendir函数打开一个与给定的目录名name相对应的目录流,并返回一个指向该目录流的指针。打开后,该目录流指向了目录中的第一个目录项。 RETURN VALUEopendir函... 阅读全文