如何运行进程的多个实例?

时间:2010-10-15 13:01:30

标签: java virtualization

我有一个java应用程序(确切地说是遗传算法),它定期启动本机进程(适应度函数),等待它完成并读取它输出的文件。但是,本机进程只能运行一次,因为它从conf文件读取并绑定几个套接字。有没有办法虚拟化本机进程,以便我可以同时运行多个副本?

4 个答案:

答案 0 :(得分:1)

分叉它还是使用线程?

答案 1 :(得分:1)

可以从命令行同时运行进程吗?

如果它一直绑定到同一个端口,那么它不会让我觉得它可以。

答案 2 :(得分:1)

从您的标签判断,我认为您在询问是否存在用于机器虚拟化的Java API。可悲的是,没有。

当然,您可以使用java(必要时使用本机粘合代码或脚本)来驱动操作系统可以执行的任何操作,因此您可以使用java生成VM来运行健身程序。不过可能会很痛苦。

conf文件中是否指定了绑定的端口?你能用这样的程序:

  1. 抓住全球锁定
  2. 随机挑选一大堆港口
  3. 编辑配置文件以使用这些端口
  4. 产生健身计划
  5. 解除锁定
  6. 一次运行多个?

    更好的是,如果您可以告诉程序在哪里查找其配置文件,您可以在没有锁定的情况下执行此操作:

    1. 将配置文件复制到临时位置
    2. 随机挑选一大堆港口
    3. 编辑配置文件的副本以使用这些端口
    4. 使用配置文件的副本
    5. 生成健身程序

      有用吗?

答案 3 :(得分:1)

听起来您需要修改适应性过程或与多个物理/虚拟机协调以运行分布式应用程序。

要使用分布式路由,您的主程序需要连接到您要使用的其他每台计算机上的类似进程,并在需要进行适应性计算时协调运行时间/运行时间。

为什么您的健康测试需要绑定到端口?