
进程
wdt3385
这个作者很懒,什么都没留下…
展开
-
Linux进程间通信——信号量
信号量又称为信号灯,它是用来协调不同进程间的数据对象的,而最主要的应用是前一节的共享内存方式的进程间通信。本质上,信号量是一个计数器,它用来记录对某个资源(如共享内存)的存取状况。一般说来,为了获得共享资源,进程需要执行下列操作:(1) 测试控制该资源的信号量。 (2) 若此信号量的值为正,则允许进行使用该资源。进程将进号量减1。 (3) 若此信号量为0,则该资源目前不可用,进程进转载 2012-08-21 11:37:58 · 1212 阅读 · 0 评论 -
System V 进程间通讯(IPC、ftok)
目录(?)[-] key_t键和ftok函数 ftok函数代码举例 IPC键值与IPC标识符 IPC对象的创建权限 创建或打开IPC对象流程图 消息队列、信号灯、共享内存常用在Linux服务端编程的进程间通信环境中。而此三类编程函数在实际项目中都是用System V IPC函数实现的。System V IPC函数名称和说明如下表15-1所示。表15转载 2012-10-16 09:17:50 · 1463 阅读 · 0 评论 -
消息队列函数(msgget、msgctl、msgsnd、msgrcv)及其范例
分类: Linux进程间通信 2011-07-04 17:29 1616人阅读 评论(2)收藏 举报目录(?)[-] msgget函数原型 msgctl函数原型 msgsnd函数原型 msgrcv函数原型 消息队列控制范例 两进程通过消息队列收发消息 消息队列函数由msgget、msgctl、msgsnd、msgrcv四个函数组成转载 2012-10-16 09:21:28 · 1046 阅读 · 0 评论 -
[IPC]通信有名管道FIFO
【IPC通信】有名管道FIFO前面学习过(匿名)管道(见前面博客),匿名管道只能用于有亲缘关系的各个进程之间,为了解决这个限制,UNIX系统进而引入了FIFO,也称为有名管道(named pipe)。FIFO(first in, first out),是一个半双工数据流,也即一个半双工管道。不同于匿名管道的是,每个FIFO有一个路径名(或文件名)与之关联,也即FIFO的名字。有了名转载 2012-10-16 13:44:51 · 1418 阅读 · 0 评论 -
linux消息队列进程通信
一、消息队列的基本概念消息队列 (也叫做报文队列)是Unix系统V版本中3种进程间通信机制之一。另外两种是信号灯和共享内存。这些IPC机制使用共同的授权方法。只有通过系统调用将标志符传递给核心之后,进程才能存取这些资源。这种系统IPC对象使用的控制方法和文件系统非常类似。使用对象的引用标志符作为资源表中的索引。消息队列就是一个消息的链表。就是把消息看作一个记录,并且这个记录具有特定的格转载 2012-12-05 16:41:06 · 568 阅读 · 0 评论 -
linux信号灯操作
信号量:一个整数;大于或等于0时代表可供并发进程使用的资源实体数;小于0时代表正在等待使用临界区的进程数;用于互斥的信号量初始值应大于0;只能通过P、V原语操作而改变;信号量元素组成:1、表示信号量元素的值;2、最后操作信号量元素的进程ID3、等待信号量元素值+1的进程数;4、等待信号量元素值为0的进程数; semop操作中:sembuf结构的sem_flg转载 2012-12-07 15:29:21 · 1156 阅读 · 0 评论 -
用Linux守护进程检测某个程序是否运行
转自:http://blog.youkuaiyun.com/jdh99/article/details/7300641 作者:jdh,转载请注明.环境:主机:Fedora12目标板:SC6410目标板LINUX内核版本:2.6.36实现功能:做的一个嵌入式板子开机会自启动一个程序,但发现它工作数天后会退出。检查内存使用并没有泄漏,于是编写了一个守护进程来转载 2012-12-10 14:09:23 · 883 阅读 · 0 评论 -
python 守护进程 服务
1. 调用fork()以便父进程可以退出,Python进程这样就将控制权归还给运行你程序的 命令行或shell程序。需要这一步以便保证新进程不是一个进程组头领进程(process group leader)。下一步,‘setsid()’,会因为你是进程组头领进程而失败。2. 调用‘setsid()’ 以便成为一个进程组和会话组的头领进程。由于一个控制终端 与一个会话相关联,而且这个新会话还转载 2013-07-25 13:44:40 · 993 阅读 · 0 评论 -
python写的linux平台双守护进程
# -*- coding: utf-8 -*-import multiprocessingimport osimport timeimport sysimport fcntlimport threadingimport socket# Global defs.DEBUG =1# Function defs.def err(func,err转载 2013-07-31 20:51:30 · 1401 阅读 · 0 评论 -
Python 信号 (signal包,部分os包)
Python标准库07 信号 (signal包,部分os包)作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢! 在了解了Linux的信号基础之后,Python标准库中的signal包就很容易学习和理解。signal包负责在Python程序内部处理信号,典型的操作包括预设信号处理函数,暂停并等待信号,以及定转载 2013-07-25 15:35:36 · 1019 阅读 · 0 评论 -
Python 当前进程信息 (部分os包)
我们在Linux的概念与体系多次提及进程的重要性。Python的os包中有查询和修改进程信息的函数。Python的这些工具符合Linux系统的相关概念,所以可以帮助理解Linux体系。 1. 进程信息os包中相关函数如下:uname() 返回操作系统相关信息。类似于Linux上的uname命令。umask() 设置该进程创建文件时的权限mask。类似于Linux上的umas转载 2013-07-25 15:44:46 · 1102 阅读 · 0 评论 -
Python多进程并发(multiprocessing)
1 Reply由于Python设计的限制(我说的是咱们常用的CPython)。最多只能用满1个CPU核心。Python提供了非常好用的多进程包multiprocessing,你只需要定义一个函数,Python会替你完成其他所有事情。借助这个包,可以轻松完成从单进程到并发执行的转换。1、新建单一进程如果我们新建少量进程,可以如下:import multiprocessin转载 2013-07-26 10:45:15 · 973 阅读 · 0 评论 -
信号量函数(semget、semop、semctl)及其范例
目录(?)[+] semget函数原型 semop函数原型 semctl函数原型 http://blog.youkuaiyun.com/guoping16/article/details/6584043信号量函数由semget、semop、semctl三个函数组成。下面的表格列出了这三个函数的函数原型及具体说明。1. semget函数原型se转载 2012-10-16 09:17:11 · 803 阅读 · 0 评论 -
Linux 进程间通信 - 共享内存shmget方式(转)
共享内存区域是被多个进程共享的一部分物理内存。如果多个进程都把该内存区域映射到自己的虚拟地址空间,则这些进程就都可以直接访问该共享内存区域,从而可以通过该区域进行通信。共享内存是进程间共享数据的一种最快的方法,一个进程向共享内存区域写入了数据,共享这个内存区域的所有进程就可以立刻看到其中的内容。这块共享虚拟内存的页面,出现在每一个共享该页面的进程的页表中。但是它不需要在所有进程的虚拟内存中都有相同转载 2012-10-16 08:38:59 · 1144 阅读 · 0 评论 -
Linux进程间通信——管道
Linux进程间通信机制:1.同一主机进程间通信机制: Unix方式:有名管道FIFO、无名管道PIPE、信号Signal SystemV方式:信号量、消息队列、共享内存 2.网络通信:RPC(Remote Procedure Call)、Socket 管道管道是进程间通信中最古老的方式,它包括无名管道和有名管道两种,前者可用于具有亲缘关系进程间的通信,即可用于父进转载 2012-08-21 11:22:11 · 1295 阅读 · 0 评论 -
Linux进程间通信
来自:http://www.cnblogs.com/linshui91/archive/2010/09/29/1838770.html一、进程间通信概述进程通信有如下一些目的:A、数据传输:一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几M字节之间B、共享数据:多个进程想要操作共享数据,一个进程对共享数据的修改,别的进程应该立刻看到。C、通知事件:一个进程需要转载 2012-08-21 10:50:59 · 1277 阅读 · 0 评论 -
linux中有关僵尸进程的问题
如何查找僵尸进程并Kill之,杀不掉的要查看父进程并杀之http://blog.youkuaiyun.com/21aspnet/article/details/6754445用ps和grep命令寻找僵尸进程#ps -A -ostat,ppid,pid,cmd | grep -e '^[Zz]'命令注解:-A 参数列出所有进程-o 自定义输出字段 我们设定显示字段为 stat(状态)转载 2012-08-21 13:45:57 · 626 阅读 · 0 评论 -
Linux进程控制
进程是程序的一次执行, 是运行在自己的虚拟地址空间的一个具有独立功能的程序. 进程是分配和释放资源的基本单位, 当程序执行时, 系统创建进程, 分配内存和 CPU 等资源; 进程结束时, 系统回收这些资源。 进程由PCB(进程控制块)来描述:进程id。系统中每个进程有唯一的id,在C语言中用pid_t类型表示,其实就是一个非负整数。进程的状态,有运行、挂起、停止、转载 2012-08-21 13:52:00 · 1287 阅读 · 0 评论 -
linux下多進程服務框架
提示:改編自tinyproxy,向原作者致敬!在程序的開頭,可以定義以下几個常量:#define MAXSERVICES 128 /* 每一個進程最大服務用戶數,防止錯誤積累 */#define STARTSERVERS 32 /* 初始啟動服務進程數 */#define MAXSPARESERVERS 32 /* 最大空閒服務進程數 */#define MINSPAR转载 2012-08-21 14:40:28 · 1021 阅读 · 0 评论 -
Linux进程间通信——消息队列
消息队列是消息的链接表,包括Posix消息队列system V消息队列。消息队列用于运行于同一台机器上的进程间通信,它和管道很相似,有足够权限的进程可以向队列中添加消息,被赋予读权限的进程则可以读走队列中的消息。消息队列克服了信号承载信息量少,管道只能承载无格式字节流以及缓冲区大小受限等缺点。 我们可以用流管道或者套接口的方式来取代它。查询系统消息队列:ipcs -q转载 2012-08-21 11:32:26 · 1417 阅读 · 0 评论 -
Linux进程间通信——共享内存
共享内存是运行在同一台机器上的进程间通信最快的方式,因为数据不需要在不同的进程间复制。通常由一个进程创建一块共享内存区,其余进程对这块内存区进行读写。共享内存往往与其它通信机制,如信号量结合使用,来达到进程间的同步及互斥。首先要用的函数是shmget,它获得一个共享存储标识符。 #i nclude #i nclude #i nclude int shmget(key_t key,转载 2012-08-21 11:35:27 · 1179 阅读 · 0 评论 -
linux有关进程的使用
转自:http://blog.youkuaiyun.com/zhongguomin/article/details/7087857#linux有关进程的使用简单的把网上找到的一些文章贴在这里,需要的时候看下来至:Linux 进程状态说明 http://blog.youkuaiyun.com/tianlesoftware/article/details/6457487Linux是一个多用户,多转载 2012-08-21 13:44:40 · 772 阅读 · 0 评论 -
linux中waitpid及wait的用法
一.思维导图 两个函数都是用来等待子进程状态的改变,并获取相关的信息. 状态改变包括:1)子进程终止2)子进程被信号停止3)子进程被信号恢复二.实例讲解 1.wait()#include #include #include #include int main(){ pid_t pc, pr; pc = fork(); if转载 2012-08-21 13:48:25 · 868 阅读 · 0 评论 -
linux 获取进程信息
1:首先介绍下psinfo_t结构体多种 proc 探测器具有 psinfo_t(proc(4) 中记录的一种结构)类型的参数。DTrace 使用者可以使用的 psinfo_t 结构的定义如下所示typedef struct psinfo { int pr_nlwp; /* number of active lwps in the process */ pid原创 2012-08-22 10:58:23 · 1383 阅读 · 0 评论 -
内存共享
http://www.blogjava.net/sunzhong/articles/297435.htmlhttp://www.rosoo.net/a/201203/15786.html转载 2012-10-15 20:19:59 · 500 阅读 · 0 评论 -
python守护进程监控hive server(类形式)
1. 首先将hive thrift server添加到系统服务后台运行 添加方法地址http://jiedushi.blog.51cto.com/673653/6089902. 利用python daemon守护进程监控hive server进程 ,代码如下#!/usr/bin/env pythonimport sys, os, time, atexit, stri转载 2013-08-07 17:17:51 · 978 阅读 · 0 评论