C
文章平均质量分 86
onlinebrx
这个作者很懒,什么都没留下…
展开
-
UNIX编程(1)-基础知识
1.登陆名 登陆名放在/etc/passwd口令文件中,口令文件中的登陆项由7个以冒号分隔的字段组成,他们是:登陆名,加密口令,用户ID,用户组ID,注释字段,起始目录,shell程序 daemon:x:2:2:daemon:/sbin:/sbin/nologin 2.文件和目录 例:列出目录中所有的文件 [code="c"] #include "apue.h" #include ...原创 2011-06-15 10:54:40 · 102 阅读 · 0 评论 -
UNIX编程(14)-高级IO
1.非阻塞IO 对于一个给定的描述符有两种方法对其指定非阻塞IO 1)如果调用open获得描述符,则可指定O_NONBLOCK标志 2)对于一个已经打开的描述符,则可调用fcntl由该函数打开O_NONBLOCK文件状态标志 #include "apue.h" #include <errno.h> #include <fcntl.h> char ...原创 2011-08-03 21:36:40 · 114 阅读 · 0 评论 -
UNIX编程(13)-守护进程
1.守护进程的编程规则 1)用umask将文件模式创建屏蔽字设置为0 2)调用fork,然后使父进程退出 3)调用setsid创建一个新会话 4)将当前工作目录更改为根目录 5)关闭不再需要的的文件描述符 6)某些守护进程打开/dev/null使其具有文件描述符0,1,2, 例:初始化一个守护进程 #include "apue.h" #include <sysl...原创 2011-08-02 21:59:15 · 89 阅读 · 0 评论 -
UNIX编程(12)-线程控制
1.线程限制 某些系统有线程的限制,可以通过sysconf函数来查询 2.线程属性 如想修改线程的属性,则可以在pthread_create调用时,传递pthread_attr_t类型指针参数 #include <pthread.h> int pthread_attr_init(pthread_attr_t *attr); int pthr...原创 2011-07-27 15:26:52 · 94 阅读 · 0 评论 -
UNIX编程(11)-线程
1.线程标识 每个线程都有一个线程ID,线程ID只在它所属的进程环境有效 线程ID比较函数 #include <pthread.h> int pthread_equal(pthread_t tid1, pthread_t tid2); Returns: nonzero if equal, 0 otherwise 线程获得自...原创 2011-07-27 14:34:35 · 93 阅读 · 0 评论 -
UNIX编程(10)-信号
1.signal函数 #include <signal.h> void (*signal(int signo, void (*func)(int)))(int); Returns: previous disposition of signal (see following) if OK, SIG_ERR on error 一...原创 2011-07-20 21:18:41 · 90 阅读 · 0 评论 -
UNIX网络编程(1)-简介
1.bzero函数 bzero 等同于memset(void * str,0,size_t n) 2.inet_pton函数 inet_pton将点分十进制的IP地址转为网络字节序的地址,如inet_pton(AF_INET, "202.182.0.25",&servaddr.sin_addr) 3.time()函数 c标准函数库函数,返回从1970-01-01...原创 2011-10-06 17:31:21 · 81 阅读 · 0 评论 -
UNIX编程(9)-进程关系
1.终端登录 2.网络登录 3.进程组 #include <unistd.h> pid_t getpgrp(void); Returns: process group ID of calling process #include <unistd.h> pid_t getpgid(pid_t...原创 2011-07-12 14:41:58 · 93 阅读 · 0 评论 -
UNIX编程(8)-进程控制
1.进程标识符 每个进程都有一个非负整数表示的唯一进程ID #include <unistd.h> pid_t getpid(void); Returns: process ID of calling process pid_t getppid(void); Returns: parent p...原创 2011-07-09 11:37:12 · 113 阅读 · 0 评论 -
UNIX编程(7)-进程环境
1.main 函数 c程序总是从main函数开始执行,当内核执行c程序时,在调用main前先调用一个特殊的启动例程,启动例程从内核获得命令行参数和环境变量值,然后为按上述方式调用main做好安排 2.进程终止 有8种方式使进程终止: 1)从main返回 2)调用exit 3)调用_exit或_Exit 4)最后一个线程从其启动例程返回 5)最后一个线程调用pthread_exit ...原创 2011-07-01 15:07:55 · 76 阅读 · 0 评论 -
UNIX编程(6)-系统数据文件和信息
1.口令文件 口令文件存储在/etc/passwd中,是一个ASCII文件 用用户名或UID获取passwd结构体信息的函数 #include struct passwd *getpwuid(uid_t uid); struct passwd *getpwnam(const char *name); 获取口令文件中所有内容 #include struct pas...原创 2011-06-28 16:35:25 · 85 阅读 · 0 评论 -
UNIX编程(5)-标准IO库
1.流的定向 freopen函数清除一个流的定向,fwide设置流的定向 #include #include int fwide(FILE *fp, int mode); 如果mode的参数值为负,fwide将试图使指定的流是字节定向的。 如果mode的参数值为正,fwide将试图使指定的流是宽定向的。 如果mode的参数值为0,fwide将不试图设置流的定向, 但返回标...原创 2011-06-27 16:55:33 · 77 阅读 · 0 评论 -
UNIX编程(4)-文件和目录
1.stat,fstat,lstat函数 #include int stat(const char *restrict pathname, struct stat *restrict buf); int fstat(int filedes, struct stat *buf); int lstat(const char *restrict pathname, struct...原创 2011-06-23 16:56:33 · 107 阅读 · 0 评论 -
UNIX编程(3)-文件IO
1.open函数 #include int open(const char *pathname, int oflag, .../*mode_t mode */); oflag参数: O_RDONLY 只读打开 O_WRONLY 只写打开 O_RDWR 读写打开 这三个必须指定一个 下面是可选的: O_APPEND 每次写时都追加到文件的尾端 O_CREAT 若此...原创 2011-06-21 17:45:26 · 87 阅读 · 0 评论 -
UNIX编程(2)-UNIX标准化
1.ISO c 2.IEEE POSIX 3.Single UNIX Specification (XSI) 4.查看系统限制的函数 #include long sysconf(int name); long pathconf(const char *pathname, int name); long fpathconf(int filedes, int name)...原创 2011-06-15 11:41:40 · 79 阅读 · 0 评论 -
UNIX编程(15)-进程间通信
. 管道 #include <unistd.h> int pipe(int filedes[2]); Returns: 0 if OK, 1 on error 参数filedes返回两个文件描述符:filedes[0]为读而打开,filedes[1]为写而打开。 例:经由管道父进程向子进程传递数据 #include...原创 2011-08-07 12:09:21 · 114 阅读 · 0 评论