![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C
文章平均质量分 86
onlinebrx
这个作者很懒,什么都没留下…
展开
-
UNIX编程(1)-基础知识
1.登陆名登陆名放在/etc/passwd口令文件中,口令文件中的登陆项由7个以冒号分隔的字段组成,他们是:登陆名,加密口令,用户ID,用户组ID,注释字段,起始目录,shell程序daemon:x:2:2:daemon:/sbin:/sbin/nologin2.文件和目录例:列出目录中所有的文件[code="c"]#include "apue.h"#include ...原创 2011-06-15 10:54:40 · 109 阅读 · 0 评论 -
UNIX编程(14)-高级IO
1.非阻塞IO对于一个给定的描述符有两种方法对其指定非阻塞IO1)如果调用open获得描述符,则可指定O_NONBLOCK标志2)对于一个已经打开的描述符,则可调用fcntl由该函数打开O_NONBLOCK文件状态标志 #include "apue.h"#include <errno.h>#include <fcntl.h>char ...原创 2011-08-03 21:36:40 · 127 阅读 · 0 评论 -
UNIX编程(13)-守护进程
1.守护进程的编程规则1)用umask将文件模式创建屏蔽字设置为02)调用fork,然后使父进程退出3)调用setsid创建一个新会话4)将当前工作目录更改为根目录5)关闭不再需要的的文件描述符6)某些守护进程打开/dev/null使其具有文件描述符0,1,2,例:初始化一个守护进程 #include "apue.h"#include <sysl...原创 2011-08-02 21:59:15 · 95 阅读 · 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 · 105 阅读 · 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 · 101 阅读 · 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 · 97 阅读 · 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 · 94 阅读 · 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 · 98 阅读 · 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 · 121 阅读 · 0 评论 -
UNIX编程(7)-进程环境
1.main 函数c程序总是从main函数开始执行,当内核执行c程序时,在调用main前先调用一个特殊的启动例程,启动例程从内核获得命令行参数和环境变量值,然后为按上述方式调用main做好安排2.进程终止有8种方式使进程终止:1)从main返回2)调用exit3)调用_exit或_Exit4)最后一个线程从其启动例程返回5)最后一个线程调用pthread_exit...原创 2011-07-01 15:07:55 · 82 阅读 · 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 · 99 阅读 · 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 · 85 阅读 · 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 · 116 阅读 · 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 · 92 阅读 · 0 评论 -
UNIX编程(2)-UNIX标准化
1.ISO c2.IEEE POSIX3.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 · 86 阅读 · 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 · 129 阅读 · 0 评论