簡體   English   中英

如何運行進程的多個實例?

[英]How to run multiple instances of a process?

我有一個java應用程序(確切地說是遺傳算法),它定期啟動本機進程(適應度函數),等待它完成並讀取它輸出的文件。 但是,本機進程只能運行一次,因為它從conf文件讀取並綁定幾個套接字。 有沒有辦法虛擬化本機進程,以便我可以同時運行多個副本?

叉它或使用線程?

可以從命令行同時運行進程嗎?

如果它一直綁定到同一個端口,那么它不會讓我覺得它可以。

從您的標簽來看,我認為您在詢問是否存在用於機器虛擬化的Java API。 可悲的是,沒有。

當然,您可以使用java(必要時使用本機粘合代碼或腳本)來驅動操作系統可以執行的任何操作,因此您可以使用java生成VM來運行健身程序。 不過可能會很痛苦。

是否在conf文件中指定了端口綁定? 你能用這樣的程序:

  1. 抓住全球鎖定
  2. 隨機挑選一些端口
  3. 編輯配置文件以使用這些端口
  4. 產生健身計划
  5. 解鎖

要一次運行幾個?

更好的是,如果您可以告訴程序在哪里查找其配置文件,您可以在沒有鎖定的情況下執行此操作:

  1. 將配置文件復制到臨時位置
  2. 隨機挑選一些端口
  3. 編輯配置文件的副本以使用這些端口
  4. 使用配置文件的副本生成健身程序

有用嗎?

聽起來您需要修改適應性過程或與多個物理/虛擬機協調以運行分布式應用程序。

要進入分布式路徑,您的主程序需要連接到您要使用的每台其他機器上的類似過程,並在需要進行適應性計算時協調何時/何時運行。

為什么你的健康測試需要綁定到端口?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM