摘要: 概念 原来指向main()的线程叫做主线程(main thread) 使用pthread_create()创建出来的线程,叫做子线程(child thread) 主/子线程只有在创建时才有区别, 创建完了就一视同仁, 都是一样的独立个体, 可以有交流、共享和私有, 但没有上下级, 这一点和多进程一样 阅读全文
posted @ 2016-10-11 19:18 Abnor 阅读(7651) 评论(0) 推荐(0) 编辑
摘要: 模型 socket() domain :协议族(protocol family)(网络通讯(IP)还是本地通讯(xxx.socket)) AF_INET 用于实现给予ipv4网络协议的网络协议 type :协议(TCP还是UDP) SOCK_DGRAM //数据报套接字, 实现包括但不限于UDP协议 阅读全文
posted @ 2016-10-11 19:16 Abnor 阅读(1671) 评论(0) 推荐(0) 编辑
摘要: 模型 socket() domain :协议族(protocol family)(网络通讯(IP)还是本地通讯(xxx.socket)) AF_INET 用于实现给予ipv4网络协议的网络协议 type :协议(TCP还是UDP) SOCK_STREAM //流式套接字, 实现包括但不限于TCP协议 阅读全文
posted @ 2016-10-11 19:15 Abnor 阅读(1943) 评论(0) 推荐(0) 编辑
摘要: 头文件 socket() domain :协议族(protocol family)(网络通讯(IP)还是本地通讯(xxx.socket)) AF_LOCAL 本地通讯/AF_UNIX/ AF_INET 用于实现给予ipv4网络协议的网络协议 AF_INET6 用于实现给予ipv6网络协议的网络协议 阅读全文
posted @ 2016-10-08 11:45 Abnor 阅读(1079) 评论(0) 推荐(0) 编辑
摘要: 模型 sem_open() oflag O_CREAT 如果信号量不存在就创建信号量,信号量的UID被设为调用进程的effective UID,GID被设为调用程序的GID,可以在mode指定权限 O_EXCL 和O_CREAT连用,确保可以创建新的信号量,如果已存在就报错 value :配合O_C 阅读全文
posted @ 2016-10-08 10:48 Abnor 阅读(1842) 评论(0) 推荐(0) 编辑
摘要: 模型: POSIX mq VS Sys V mq的优势 更简单的基于文件的应用接口 完全支持消息优先级(优先级最终决动队列中消息的位置) 完全支持消息到达的异步通知,这通过信号或是线程创建实现 用于阻塞发送与接收操作的超时机制 消息队列名 由 知:消息队列由一个形如'/somename'的名字唯一标 阅读全文
posted @ 2016-10-08 09:56 Abnor 阅读(1914) 评论(0) 推荐(0) 编辑
摘要: 模型 shm_open oflag Access Mode: O_RDONLY 以只读的方式打开共享内存对象 O_RDWR 以读写的方式打开共享内存对象 Opening time flags(Bitwise Or): O_CREAT 表示创建共享内存对象,刚被创建的对象会被初始化为0byte可以使用 阅读全文
posted @ 2016-10-08 08:28 Abnor 阅读(836) 评论(0) 推荐(1) 编辑
摘要: 模型 ftok() pathname :文件名 proj_id : 1~255的一个数,表示project_id semget(): nsems : 信号量集的大小/信号量的个数,0表示获取已经存在的信号量集 semflg IPC_CREAT :若不存在则创建, 需要在msgflg中"|权限信息"; 阅读全文
posted @ 2016-10-07 15:56 Abnor 阅读(878) 评论(0) 推荐(0) 编辑
摘要: 模型 ftok() pathname :文件名 proj_id : 1~255的一个数,表示project_id msgget() msgflg :具体的操作标志 IPC_CREAT 若不存在则创建, 需要在msgflg中"|权限信息"; 若存在则打开 IPC_EXCL 若存在则创建失败 0 获取已 阅读全文
posted @ 2016-10-07 13:25 Abnor 阅读(799) 评论(0) 推荐(0) 编辑
摘要: 模型 ftok() pathname :文件名 proj_id : 1~255的一个数,表示project_id shmget() key :ftok()的返回值 size :共享内存的大小,实际会按照页的大小(PAGE_SIZE)来分配。0表示获取已经分配好的共享内存 shmflg :具体的操作标 阅读全文
posted @ 2016-10-07 11:38 Abnor 阅读(1201) 评论(0) 推荐(0) 编辑
摘要: ipcs ipcs m 查看系统中已经存在的共享内存 shmid :共享内存的id perms :permission nattch :number attatch ipcs q 查看系统中现有的消息队列 used byte: 队列的大小 message : 队列中消息的条数 ipcs s 查看系统 阅读全文
posted @ 2016-10-07 10:23 Abnor 阅读(404) 评论(0) 推荐(0) 编辑
摘要: mkfifo() pathname :the FIFO special file's name mode :the FIFO's permissions. pipe() pipefd :return two fds referring to the ends of the pipe. pipefd[ 阅读全文
posted @ 2016-10-07 10:02 Abnor 阅读(308) 评论(0) 推荐(0) 编辑
摘要: 管道是Linux的十种文件类型之一,使用管道通信本质上还是以文件作为通信的媒介 有名管道+无名管道=管道 有名管道(FIFO文件):就是 有文件名的管道, 可以用于任意两个进程间的通信 无名管道(pipe文件):就是没有文件名的管道, 只能用于父子进程之间的通信 mkfifo 创建有名管道,管道不能 阅读全文
posted @ 2016-10-07 09:39 Abnor 阅读(306) 评论(0) 推荐(0) 编辑
摘要: Linux中, 系统为每个系统都维护了三种计时器,分别为: 真实计数器, 虚拟计时器以及实用计时器, 一般情况下都使用真实计时器 getitimer()/setitimer() which //具体的计时器类型 1. ITIMER_REAL :真实计时器 统计进程消耗的真实时间 通过定时产生SIGA 阅读全文
posted @ 2016-10-07 00:12 Abnor 阅读(875) 评论(0) 推荐(0) 编辑
摘要: 信号本质上就是一个软件中断,它既可以作为两个进程间的通信的方式, 更重要的是, 信号可以终止一个正常程序的执行, 通常被用于处理意外情况 , 信号是异步的, 也就是进程并不知道信号何时会到达 $kill 9 3390 向PID为3390的进程发送编号为9的信号= 一个两个进程间通信的方式之一 一共6 阅读全文
posted @ 2016-10-06 23:21 Abnor 阅读(1518) 评论(0) 推荐(0) 编辑
摘要: 向一个/一些进程发送一个信号 $kill [ slL] [...] 指定发送的信号,可以使用名称或者信号编号 列出当前系统的所有信号 阅读全文
posted @ 2016-10-06 21:00 Abnor 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 进程的状态 Linux进程有7种基础状态(两种running算一种),除了traced都可以用 命令查看, 可以查看的进程状态如下,更多进程状态信息参见 "Linux Process VS Thread VS LWP" R running or runnable (on run queue) D u 阅读全文
posted @ 2016-10-06 18:48 Abnor 阅读(2527) 评论(0) 推荐(1) 编辑
摘要: ps 查看当前终端所启动的进程, 不加选项只查看当前终端的进程 ps aux 查看所有进程,ps aux是BSD syntax,ps aux是standard syntax, 但二者的意义完全不同= $man ps ps ef 以全格式的方式显示所有进程(every)查看当前终端所启动的进程, 不加 阅读全文
posted @ 2016-10-06 16:31 Abnor 阅读(726) 评论(0) 推荐(0) 编辑
摘要: mkdir() opendir()、fdopendir() readdir() telldir() seekdir() rewinddir() dirfd() closedir() rmdir() 阅读全文
posted @ 2016-10-06 14:58 Abnor 阅读(400) 评论(0) 推荐(0) 编辑
摘要: access() fstat()、stat()、lstat() 获取文件大小 1. fseek()把offset移到SEEK_END, 再用ftell()返回文件的大小 2. lseek() , 返回文件的大小 3. stat(), struct stat st; st.st_size的数值就是文件 阅读全文
posted @ 2016-10-06 14:31 Abnor 阅读(467) 评论(0) 推荐(0) 编辑