精华内容
下载资源
问答
  • 一个程序多个进程

    千次阅读 2011-04-08 18:20:00
    如何理解一个程序可以对应多个进程,一个进程也可以对应多个程序?  说白了就是,一个程序可以重复运行,开几个窗口,比如网游的“双开”,一个进程可以对应多个程序就是一个DLL文件可一被多个程序运用...

    如何理解一个程序可以对应多个进程,一个进程也可以对应多个程序?

     

    说白了就是,一个程序可以重复运行,开几个窗口,比如网游的“双开”,
    一个进程可以对应多个程序就是一个DLL文件可一被多个程序运用,比如DirectX9的动态链接库,就是,许多游戏都要有它才能运行。
    展开全文
  • 一个应用程序有多少个进程

    千次阅读 2019-12-16 21:55:42
    1.一个程序多个进程 一个程序几个进程在于这个程序的开发者的设置,可以是1个,也可以是多个的。一个应用程序,启动多个处理进程。换言之,所有进程隶属于当前应用程序;这是所谓的多进程服务。 2.一个程序...

    一个程序几个进程在于这个程序的开发者的设置,可以是1个,也可以是多个的。

    1.一个程序里有很多个进程

    一个程序几个进程在于这个程序的开发者的设置,可以是1个,也可以是多个的。一个应用程序,启动多个处理进程。换言之,所有进程隶属于当前应用程序;这是所谓的多进程服务。

    2.一个程序只有一个进程但被开启很多个

    启动多个同一应用程序,每个应用程序都是单进程。这个场景有些应用程序会禁用掉,有些是可以的,看应用程序的定位。如果允许,那么需要解决数据共享的问题(主要是数据写入);如果不允许,那么只能启动一个此类应用程序。

    对于现代操作系统(OS)以上两种场景时刻都在发生。比如QQ,允许同时登陆多个账号而出现多个qq程序。同时每个qq程序又有多个进程进行业务处理。

    展开全文
  • 一个应用程序可能需要启动多个进程! 一个应用程序可能需要启动多个进程!! 一个应用程序可能需要启动多个进程!!!   1.时候系统管理员可能只关心现在系统中运行着哪些程序,而不想知道哪些进程在运行。由于...

    一个应用程序可能需要启动多个进程!

    一个应用程序可能需要启动多个进程!!

    一个应用程序可能需要启动多个进程!!!

     

    1.有时候系统管理员可能只关心现在系统中运行着哪些程序,而不想知道有哪些进程在运行。由于一个应用程序可能需要启动多个进程。所以在同等情况下,进程的数 量要比程序多的多。

    2.-A    列出所有的进程
    -w    显示加宽可以显示较多的资讯
    -au    显示较详细的资讯
    -aux    显示所有包含其他使用者的行程

     

    3.ps用于查看当前进行的进程,ps-ef用于查看当前所有的进程。

    展开全文
  • 我们都知道Docker容器的哲学是一个Docker容器只运行一个进程,但是时候我们就是需要在一个Docker容器中运行多个进程 那么基本思路是在Dockerfile 的CMD 或者 ENTRYPOINT 运行一个”东西”,然后再让这个”东西”...

    我们都知道Docker容器的哲学是一个Docker容器只运行一个进程,但是有时候我们就是需要在一个Docker容器中运行多个进程

    那么基本思路是在Dockerfile 的CMD 或者 ENTRYPOINT 运行一个”东西”,然后再让这个”东西”运行多个其他进程
    简单说来是用Bash Shell脚本或者三方进程守护 (Monit,Skaware S6,Supervisor),其他没讲到的三方进程守护工具同理

    Bash Shell脚本

    入口文件运行一个Bash Shell 脚本, 然后在这个脚本内去拉起多个进程
    注意最后要增加一个死循环不要让这个脚本退出,否则拉起的进程也退出了
    run.sh

     

     

    在Dockerfile的入口中运行run.sh

     

    用Bash Shell 的方式,任意发行版的linux都支持,缺点是不能拉起crash的进程,也就是只能拉起运行不能”守护”
    如果不关心进程crash问题那么可以用这种方式

    三方容器进程初始化之-dumb-init

    dumb-init官方
    A minimal init system for Linux containers
    一个最小化的Linux容器初始化系统
    dumb-init是一个简单的进程监控器和init系统,设计为在最小容器环境(如Docker)中作为PID 1运行。它被部署为一个用C编写的小型静态链接二进制文件。
    Dockerfile 参考

     

    ServiceMesh的数据平面Envoy Proxy的容器镜像就是使用的dumb-init

    三方容器进程初始化之-tini

    tini官方
    A tiny but valid init for containers
    容器的一个小而有效的init

    三方进程守护之-Monit

    Monit和Supervisor还是有很大区别的,Supervisor管理的都是前台执行的进程,Monit既可以管理前台进程也可以管理后台进程,简单的说,在CentOS中使用service xxx start 启动的程序,使用Monit可以直接管理,这就解决了很多没有前台方式启动的程序不能用Supervisor来管理的问题。
    Dockerfile 参考

     

    三方进程守护之-Supervisor

    大名鼎鼎的 Supervisor
    如果有多种版本的linux要用那么可以用Supervisor做统一进程守护管理,网上资料一大堆
    注意要以前台程序运行,配置文件中要有,如果是后台的方式docker会退出

     

    Dockerfile 参考

     

     

    三方进程守护之-Skaware S6

    Supervisor是常见的进程守护程序,不过程序文件太大,想要容器镜像尽量小,在特别是用Alpine作为基础镜像的时候推荐使用Skaware S6
    参考这个微服务基础镜像 https://github.com/nicholasjackson/microservice-basebox 他就是用 Skaware 作为进程守护程序运行多个进程的
    如果基础容器镜像是本身就是Alpine,那就再合适不过了
    Dockerfile 参考

     

     

    cron.run example

     

     

    app.run example

     

     

    三方进程守护之-s6-overlay

    s6-overlay 是基于 Skaware S6适用于容器的进程守护工具
    s6-overlay 官网 https://github.com/just-containers/s6-overlay
    Dockerfile 参考

     

     

    三方进程守护之-runit

    runit官网http://smarden.org/runit/
    具体的使用方法见官网
    在Docker生态圈, phusion/baseimage-docker, gitlab 在使用runit作为进程管理工具

    下面以要运行cron 和 ssh 为例
    /etc/service/ 为配置文件目录

    /etc/service/sshd 为要运行的程序目录
    /etc/service/sshd/run 为需要运行的程序入口脚本文件
    cat run

     

     

    /etc/service/cron 为要运行的程序目录
    /etc/service/cron/run 为需要运行的程序入口脚本文件
    cat run

     

     

    Dockerfile 参考

     

     

    三方进程守护之-Systemd

    在 docker 中使用 Systemd 需要在 docker run 的时候开启特权模式 –privileged ,所以不推荐
    这个直接放弃了
    Dockerfile 参考

     

     

    参考资料

    Alpine里的go应用,你猜他能有多小? http://blog.csdn.net/sisiy2015/article/details/50350261
    如何运行多进程Docker容器? http://dockone.io/article/951
    在Docker Container中启动定时任务 http://dockone.io/article/1070
    Docker容器内多进程管理(一)-Supervisor http://www.linuxprobe.com/docker-process-management1.html
    Docker容器内多进程管理(二)-Monit http://www.linuxprobe.com/docker-process-management2.html
    关于S6和Runit的论坛讨论 S6 or Runit, not systemd https://www.linuxquestions.org/questions/slackware-14/s6-or-runit-not-systemd-4175465428/
    [译] runit 快速入门 https://segmentfault.com/a/1190000006644578

    转载于:https://www.cnblogs.com/sunsky303/p/11046681.html

    展开全文
  • 由于程序的需要,我们需要在台服务器上启动多个相似的子进程,如何做呢? 两种可以尝试一下: 1.循环创建: #include <stdio.h> #include <unistd.h> #include <stdlib.h> #include <...
  • 单个进程监听多个端口单个进程创建多个 socket 绑定不同的端口,TCP, UDP 都行多个进程监听同一个端口(multiple processes listen on same port)方式1:通过 fork 创建子进程的方式可以实现,其他情况下不行。...
  • 进程(process)和线程(thread)是操作系统的基本概念,但是...vs 线程 :一个进程可以包含多个线程" title="进程 vs 线程 :一个进程可以包含多个线程" style="border:0px; max-width:602px; height:auto; ma
  • :结论 1.两个进程中分别产生生成两个独立的fd 2.两个进程可以任意对文件进行读写操作,操作系统并不保证写...6.一个进程对文件长度和内容的修改另外一个进程可以立即感知 二:文件描述符与打开文件的关系? 内核...
  • 端口号可以用来标识同一个主机上通信的不同应用程序,端口号+IP地址就可以组成一个套接字,用来标识一个进程 2.端口号的应用场景 在TCP/IP协议中,用“源IP地址”,“目的IP地址”,“源端口号”,“目的端口...
  • Android多进程实现,一个APP多个进程
  • 比如显示图像的驱动程序多个程序的显示都是需要他来执行。 我们玩游戏算一个程序,需要显示图像的驱动,声音驱动、IO驱动的同时执行。 就这么简单。 我的理解:大家知道bat文件可以当做命令call的。 你写了...
  • Android多进程实现,一个APP多个进程

    千次阅读 2019-07-30 10:03:06
    相关文章: Android IPC机制(一)开启多进程(文章1:刘望舒大神的...Android多进程实现,一个APP多个进程(文章3:1w阅读量,5赞) Android中,默认一个APK包就对应一个进程。 Android平台对每个进程内存限...
  • 编写多进程程序 --多进程编程

    千次阅读 2015-06-28 01:47:17
     该实验3个进程,其中一个为父进程,其余两个是该父进程创建的子进程,其中一个子进程运行“ls -l”指令,另一个子进程在暂停5s后异常退出。父进程先用阻塞方式等待第一个进程的结束,然后用非阻塞方式等待另一
  • 这个类可以允许我们的应用程序开启一个新的外部程序,并且与这个程序进行通讯 我们通过new一个QProcess对象,为其设置路径及命令参数,来启动并发生命令参数到该程序 例如: //程序路径 QString path("...
  • Qt 之运行一个实例进程

    千次阅读 2016-02-04 17:52:34
    用户可以同时运行多个实例进程 一个实例进程的软件很多,例如:360、酷狗… 多个实例进程的软件也很多,例如:Visual Studio、Qt Ctretor、QQ…下面我们来介绍下如何实现一个实例进程。简述 QSharedMemory ...
  • 在ubuntu中,终止一个进程或终止一个正在运行的程序,一般是通过 kill 、killall、pkill、xkill 等进行。 -------------------------------------------------------------------先看两个例子:  例子一:结束某个...
  • 一直疑惑同一个应用app如何才能以多进程线程的方式运行。对于线程可能很好理解,我们只要在进程中启用线程的模式即可。也就是来一个请求,我们就用函数pthread_create()启用一个线程即可。这样我们的应用...
  • 个进程在其执行的过程中可以产生多个线程。与进程不同的是同类的多个线程共享同一块内存空间和一组系统资源,所以系统在产生一个线程,或是在各个线程之间作切换工作时,负担要比进程小得多,也正因为如此,线程也...
  • 作者:yooongchun 微信:18217235290 最近在使用Pyinstaller打包Python程序的时候发现,打包过程正常,但在运行时...经过网上的多番搜索查阅发现是因为程序使用了多进程模式,而在windows上Pyinstaller打包进程程...
  • 背景:java 支持线程,这是绝大多数程序都满足的必要条件,因为线程个可以增加程序的“吞吐量”,提高用户对软件的流畅性体验。  同时,java程序也支持开启新的进程,或者叫做java调用外部应用程序。这里的实现...
  • 端口号可以用来标识同一个主机上通信的不同应用程序,端口号+IP地址就可以组成一个套接字,用来标识一个进程 2.端口号的应用场景 在TCP/IP协议中,用“源IP地址”,“目的IP地址”,“源端口号”,“目的端口号”,...
  • Android中如何设置两个应用程序为同一个进程?1.在&lt;manifest&gt;里面添加:android:sharedUserId,注意这个属性的取值必须包含点(dot),也就是诸如java packae的形式。比如com.aaa.bbb。没有dot的话,...
  • 从不同的角度进程可以有不同的定义,比较典型的定义有: (1)进程程序的一次执行过程。 (2)进程一个程序及其数据在处理机上顺序执行时所发生的活动。 (3)进程是具有独立功能的程序一个...
  • 在ubuntu中,终止一个进程或终止一个正在运行的程序,一般是通过 kill 、killall、pkill、xkill 等进行。 ------------------------------------------------------------------- 先看两个例子:  例子一...
  • 而每一个DVM都是在Linux 中的一个进程,所以说可以认为是同一个概念。 什么是android DVM:Dalvik是Google公司自己设计用于Android平台的Java虚拟机,每一个Dalvik 应用作为一个独立的Linux 进程执行。独立的进程...
  • 多个进程可以监听同一个端口?

    千次阅读 2012-06-27 16:17:22
    多个socket绑定同一个端口,叫做端口复用 下列代码可以使用socket绑定多次 //SO_REUSEADDR选项就是可以实现端口重绑定的  if(setsockopt(s,SOL_SOCKET,SO_REUSEADDR,(char *)&val,sizeof(val))!=0)  {  ...
  • 这个问题重点是:一个应用程序的两个activity可以在两个进程中跑么?如草图(→_→) 好吧,好不容易画了个图传不上来…. 直接上段子:android:process=""此属性强有力的证明了这个问题的可行性.翻了下老罗的博客...
  • 线程:程序执行的最小单元,是进程中的一个实体用来执行程序,一个进程有多个线程。 既然如此,我们可以想象,一个系统中的进程数量肯定是上限的,不然系统资源就会不够用了,同样的道理,一个进程中的线程...
  • 线程程序与单进程程序的架构

    千次阅读 2012-06-13 21:39:54
    线程程序和单进程程序中都使用,在网络服务中都使用。线程程序主要用于同步的处理一些请求,为了在同一时间处理较的请求。一般采取线程池的策略,一个主线程来分配请求。 (一)常见的进程模型: (1)...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,229,387
精华内容 491,754
关键字:

一个程序可以有多个进程