ipc

Celery: Interact/Communicate with a running task

北慕城南 提交于 2020-02-22 08:24:03
问题 A related (albeit not identical) question appears here: Interact with celery ongoing task It's easy to start a task and get its unique ID: async_result = my_task.delay() task_id = async_result.task_id It's easy to broadcast a message that will reach a custom command in the worker: my_celery_app.control.broadcast('custom_command', arguments= {'id': task_id}) The problem arises that the worker is started in the form of a small process tree formed of one supervisor and a number of children. The

IPC mechanisms concepts

邮差的信 提交于 2020-02-20 06:16:29
问题 I want to understand these IPC mechanism concepts in OS - Shared Memory, Message System, Sockets, RPC, RMI How do different operating systems implement these. Specifically Android operating system? 回答1: IPC is inter-process communication mechanisms in OS is large discussion concept so, I think here we can't cover all this, Some Low Level stuff: The IPC mechanism discussed here is at the lowest level—all other inter-CPU IPC mechanisms use it as the base. For example, a TCP/IP connection

IPC框架分析 Binder,Service,Service manager

核能气质少年 提交于 2020-02-17 23:25:03
http://blog.csdn.net/maxleng/article/details/5490770 IPC框架分析 Binder,Service,Service manager 我首先从宏观的角度观察Binder,Service,Service Manager,并阐述各自的概念。从Linux的概念空间中,Android的设计Activity托管在不同的的进程,Service也都是托管在不同的进程,不同进程间的Activity,Service之间要交换数据属于IPC。Binder就是为了Activity通讯而设计的一个轻量级的IPC框架。 在代码分析中,我发现Android中只是把Binder理解成进程间通讯的实现,有点狭隘,而是应该站在公共对象请求代理这个高度来理解Binder,Service的概念,这样我们就会看到不一样的格局,从这个高度来理解设计意图,我们才会对Android中的一些天才想法感到惊奇。从Android的外特性概念空间中,我们看不到进程的概念,而是Activity,Service,AIDL,INTENT。一般的如果我作为设计者,在我们的根深蒂固的想法中,这些都是如下的C/S架构,客户端和服务端直接通过Binder交互数据,打开Binder写入数据,通过Binder读取数据,通讯就可以完成了。 该注意到Android的概念中,Binder是一个很低层的概念

linux、uinux消息队列进程通信

徘徊边缘 提交于 2020-02-17 11:25:37
下次打开时候还会残留以前的消息2.没有删除消息队列。 消息队列的基本概念消息队列 也叫做报文队列)Unix系统V版本中3种进程间通信机制之一。另外两种是信号灯和共享内存。这些IPC机制使用共同的授权方法。只有通过系统调用将标志符传送给核心之后,消息队列就是一个消息的链表。就是把消息看作一个记录。进程才干存取这些资源。这种系统IPC对象使用的控制方法和文件系统非常类似。使用对象的引用标志符作为资源表中的索引。 并且这个记录具有特定的格式以及特定的优先级。对消息队列有写权限的进程可以依照一定的规则添加新消息;对消息队列有读权限的进程则可以从消息队列中读出消息。 而接收方如果没有收到消息也不需等待。这种通信机制相对简单,Linux采用消息队列的方式来实现消息传送。这种消息的发送方式是发送方不必等待接收方检查它所收到消息就可以继续工作下去。但是应用顺序使用起来就需要使用相对复杂的方式来应付了新的消息总是放在队列的末尾,接收的时候并不总是从头来接收,可以从中间来接收。 只有在内核重起或者显示删除一个消息队列时,消息队列是随内核持续的并和进程相关。该消息队列才会真正被删除。因此系统中记录消息队列的数据结构 structipc_idmsg_id位于内核中,系统中的所有消息队列都可以在结构msg_id中中找到访问入口。 IPC标识符:每一个IPC目标都有一个唯一的IPC标识符

linux进程间通信之消息队列

二次信任 提交于 2020-02-17 11:24:02
http://www.cnblogs.com/magicbox/archive/2012/02/01/2363880.html ========================================================= 一、消息队列的基本概念 消息队列 (也叫做报文队列)是Unix系统V版本中3种进程间通信机制之一。另外两种是 信号量 和 共享存储 。这些IPC机制使用共同的授权方法。只有通过系统调用将标志符传递给核心之后,进程才能存取这些资源。这种系统IPC对象使用的控制方法和文件系统非常类似。使用对象的引用标志符作为资源表中的索引。 消息队列就是一个消息的链表。就是把消息看作一个记录,并且这个记录具有特定的格式以及特定的优先级。对消息队列有写权限的进程可以按照一定的规则添加新消息;对消息队列有读权限的进程则可以从消息队列中读出消息。 Linux采用消息队列的方式来实现消息传递。这种消息的发送方式是:发送方不必等待接收方检查它所收到的消息就可以继续工作下去,而接收方如果没有收到消息也不需等待。这种通信机制相对简单,但是应用程序使用起来就需要使用相对复杂的方式来应付了。新的消息总是放在队列的末尾,接收的时候并不总是从头来接收,可以从中间来接收。 消息队列是随内核持续的并和进程相关,只有在内核重起或者显示删除一个消息队列时,该消息队列才会真正被删除

Linux下Fork与Exec使用

感情迁移 提交于 2020-02-15 10:04:29
一、引言   对于没有接触过Unix/Linux操作系统的人来说,fork是最难理解的概念之一:它执行一次却返回两个值。fork函数是Unix系统最杰出的成就之一,它是七十年代UNIX早期的开发者经过长期在理论和实践上的艰苦探索后取得的成果,一方面,它使操作系统在进程管理上付出了最小的代价,另一方面,又为程序员提供了一个简洁明了的多进程方法。与DOS和早期的Windows不同,Unix/Linux系统是真正实现多任务操作的系统,可以说,不使用多进程编程,就不能算是真正的Linux环境下编程。   多线程程序设计的概念早在六十年代就被提出,但直到八十年代中期,Unix系统中才引入多线程机制,如今,由于自身的许多优点,多线程编程已经得到了广泛的应用。 下面,我们将介绍在Linux下编写多进程和多线程程序的一些初步知识。 二、多进程编程 什么是一个进程?进程这个概念是针对系统而不是针对用户的,对用户来说,他面对的概念是程序。当用户敲入命令执行一个程序的时候,对系统而言,它将启动一个进程。但和程序不同的是,在这个进程中,系统可能需要再启动一个或多个进程来完成独立的多个任务。多进程编程的主要内容包括进程控制和进程间通信,在了解这些之前,我们先要简单知道进程的结构。    2.1 Linux下进程的结构   Linux下一个进程在内存里有三部分的数据,就是"代码段"、"堆栈段"和"数据段"

android跨进程(IPC)通信及AIDL

不想你离开。 提交于 2020-02-13 01:54:11
文章目录 android跨进程(IPC)通信及AIDL 官方文档 特别注意 跨进程 标签 in out inout oneway 跨进程回调RemoteCallbackList 多IBinder返回如何处理 示例 参考 android跨进程(IPC)通信及AIDL 官方文档 官方文档详见 https://developer.android.google.cn/guide/components/aidl?hl=en 特别注意 aidl文件里不要出现中文,因为官方还不支持中文 aidl支持java基本数据类型,以及String,CharSequence,List,Map(其中List,Map的具体类分别是ArrayList,HashMap,Map不支持泛型) aidl文件中引用 来源: CSDN 作者: huxiaojian5 链接: https://blog.csdn.net/huweijian5/article/details/103286803

RT-thread内核之进程间通信

生来就可爱ヽ(ⅴ<●) 提交于 2020-02-13 00:09:28
这里面见到的同步和互斥的概念非常清晰,转载自: http://www.cnblogs.com/King-Gentleman/p/4311582.html 一、进程间通信机制 rt-thread操作系统的IPC(Inter-Process Communication,进程间同步与通信)包含有中断锁、调度器锁、信号量、互斥锁、事件、邮箱、消息队列。其中前5个主要表现为线程间同步,邮箱与消息队列表现为线程间通信。本文主要介绍它们的一些特性及使用场合。 1、中断锁 关闭中断也叫中断锁,是禁止多任务访问临界区最简单的一种方式,即使是在分时操作系统中也是如此。当中断关闭的时候,就意味着当前任务不会被其他事件打断(因为整个系统已经不再响应那些可以触发线程重新调度的外部事件),也就是当前线程不会被抢占,除非这个任务主动放弃了处理器控制权。关闭中断/恢复中断API接口由BSP实现,根据平台的不同其实现方式也大不相同。比如在stm32平台中中断锁机制通过关闭中断函数(rt_base_t rt_hw_interrupt_disable(void),这个函数用于关闭中断并返回关闭中断前的中断状态。)以及恢复中断函数(void rt_hw_interrupt_enable(rt_base_t level),恢复调用rt_hw_interrupt_disable()函数前的中断状态)实现。 警告:

dos命令

天大地大妈咪最大 提交于 2020-02-10 03:03:56
1.前提是有对方权限,百度可以搜索shutdown关闭远程计算机要求,以下不加:/m IP 即为关本机 (1).在60秒后强制关机并有提示:shutdown /s /f /m IP /t 60 /c 计算机将在60秒后关机,取消关机请在开始菜单的'运行'中输入"shutdown -a" (2).在20秒后关闭指定IP的计算机:shutdown /s /t 20 /m IP (3).在10秒钟后重启指定IP的计算机:shutdown -r /t 10 /m IP (4).强制关闭指定IP的计算机:shutdown /s /t 10 /f /m IP (5).强制重启指定IP的计算机:shutdown /r /t 10 /f /m IP (6).取消指定IP的关机或重启:shutdown -a /m IP 2.查看当前访问过我计算机的IP(会话):net session 3.合并两个二进制文件:copy/b 1.mp3+2.mp3 3.mp3 //即将两个mp3文件合成3.mp3 一个文件 4.从计算机中找合适的工具打开指定的文件:start 3.mp3 start 程序名或命令 /max 或/min 新开一个新窗口并最大化(最小化)运行某程序或命令 例: start E:\yz.exe 5.清除系统密码:条件:MS-DOS窗口 (没试过) c:\>debug 输入debug回车 -o

IPC机制

旧城冷巷雨未停 提交于 2020-02-10 00:48:41
一个应用默认只有一个进程,这个进程的名字就是应用的包名,进程是系统分配资源和调度的基本单位,每个进程都要有自己的资源和空间,其它程序不能任意访问当前进程的空间,系统给每个进程分配的空间会有限制。 但是这都是默认情况下的事情,伟大的程序员是不会屈服一个进程的,我就弄出多个进程来玩玩;Android系统也是蛮大方的,你要多个,好,我来满足你,你可以指定一些组件运行在不同的进程中,只需指定组件的: 1 android:process 设置process属性的方式有两种: android:process=“:remote”,以冒号开头,冒号后边的字符是可以随意指定的。当然这只是一种缩写形式 大专栏 IPC机制 ,全称应该是:包名+“:remote";这种形式表示该进程为当前应用的私有进程,其它应用的组件不可以和它跑在同一个进程中。 android:process=“xxx.xxx"表示运行在以这个名称的全局进程中,其它应用可以通过shareUID和他跑在同一个进程中; 虽然开启多进程是非常非常简单,但是有很多坑,一不小心就掉进去了: Application多次创建,启动多进程的生活,Application会被多次创建,在application中我们可以通过当前进程名字,来初始化数据,防止无必要的初始化 静态成员失效,各个进程是单独分配的内存,所以这里的静态成员变量将会失效 文件共享