
linux--进程线程
山西茄子
多媒体工程师,从事ffmpeg,gstreamer,视频编码,deepstream等开发,做做笔记。
展开
-
linux消息队列
ftok()#include #include 函数原型: key_t ftok( const char * pathname , int proj_id );参数: pathname 就时你指定的文件名(该文件必须是存在而且可以访问的),id是子序号,虽 然为int,但是只有8个比特被使用(0-255)。返回值: 成转载 2016-03-18 10:45:59 · 1010 阅读 · 0 评论 -
linux下的信号
linux下的信号应用并没有想象的那么恐怖,程序员所要做的最多只有三件事情:安装信号(推荐使用sigaction());实现三参数信号处理函数,handler(int signal,struct siginfo *info, void *);发送信号,推荐使用sigqueue()。实际上,对有些信号来说,只要安装信号就足够了(信号处理方式采用缺省或忽略)。其他可能要做的无非是与信号转载 2016-03-08 17:26:58 · 495 阅读 · 0 评论 -
system,execute,popen
简单说一下popen()函数函数定义#include FILE * popen(const char *command , const char *type );int pclose(FILE *stream);函数说明 popen()函数通过创建一个管道,调用fork()产生一个子进程,执行一个shell以运行命令来开启一个进程。这个管道必须由pclose(转载 2016-09-17 11:33:14 · 707 阅读 · 0 评论 -
Linux下的进程间通信
2.3 Linux下的进程间通信 详细的讲述进程间通信在这里绝对是不可能的事情,而且笔者很难有信心说自己对这一部分内容的认识达到了什么样的地步,所以在这一节的开头首先向大家推荐著名作者Richard Stevens的著名作品:《Advanced Programming in the UNIX Environment》,它的中文译本《UNIX环境高级编程》已有机械工业出版社出版,原文转载 2016-09-17 14:06:10 · 377 阅读 · 0 评论 -
linux下共享内存
C programming in the UNIX environment的编程手册,一般都会为进程间用共享内存的方法通信提供两组方法:1. SYSTEM V定义的int shmget(key_t key, int size, int shmflg); //得到一个共享内存标识符或创建一个共享内存对象void *shmat(int shmid, const void *sh原创 2012-10-15 14:03:36 · 928 阅读 · 0 评论 -
linux条件锁
互斥锁常用函数:互斥锁的操作主要包括以下几个步骤。互斥锁初始化:pthread_mutex_init互斥锁上锁:pthread_mutex_lock互斥锁判断上锁:pthread_mutex_trylock互斥锁接锁:pthread_mutex_unlock消除互斥锁:pthread_mutex_destroy条件变量常用函数: int pthread_condat转载 2012-10-18 13:38:23 · 1791 阅读 · 0 评论 -
Linux信号量 sem_t简介
函数介绍#include信号量的数据类型为结构sem_t,它本质上是一个长整型的数。函数sem_init()用来初始化一个信号量。它的原型为:int sem_init __P ((sem_t *__sem, int __pshared, unsigned int __value));sem为指向信号量结构的一个指针;pshared不为0时此信号量在进程间共享,否则只能为当前进程的所有线原创 2012-10-11 16:27:05 · 70709 阅读 · 6 评论 -
linux-UDP
linux下UDP的例子如下://服务器端代码#include #include #include #include #include #include #include #include int main(int argc, char *argv[]){ int sock; //sendto中使用的对方地址 struct sockaddr_转载 2012-10-29 16:11:49 · 584 阅读 · 0 评论 -
linux下栈的大小
我在ubuntu 9.04,gcc4.4.1环境下进行该实验,证明线程的栈确实有固定大小,也就是ulimit -a显示的那个值,在我的实验室环境下为8M字节 实验1: #include #include int i = 0; void *test(void * s) {转载 2013-06-24 15:42:54 · 3423 阅读 · 0 评论 -
linux--线程
线程主要用到3个函数,pthread_create(创建),pthread_exit(退出),pthread_join(等待退出)。 例子如下:/* example.c*/#include #include void thread(void){int i;for(i=0;i<3;i++)printf("This is a pthread.\n");}原创 2012-08-25 13:05:30 · 677 阅读 · 0 评论 -
linux--多进程
1 引言 对于没有接触过Unix/Linux操作系统的人来说,fork是最难理解的概念之一:它执行一次却返回两个值。fork函数是Unix系统最杰出的成就之一,它是七十年代UNIX早期的开发者经过长期在理论和实践上的艰苦探索后取得的成果,一方面,它使操作系统在进程管理上付出了最小的代价,另一方面,又为程序员提供了一个简洁明了的多进程方法。与DOS和早期的Windows不同,Unix/原创 2012-10-11 10:45:12 · 1135 阅读 · 0 评论