簡體   English   中英

如何在Java中讀取/寫入進程

[英]How to Read/Write to a Process in Java

我正在嘗試訪問一個我知道其名稱的正在運行的進程,以便可以對其進行讀寫。

用Java如何做到這一點?

有很多方法。 您所需要的還不夠清楚,無法知道哪一種適合您的需求。

  1. 您可以使用調試標志啟動JVM,從而允許您附加調試器(獲得對正在運行的程序內部的讀寫訪問權限)。
  2. 您可以在標准輸入,標准輸出和標准錯誤流中進行讀寫操作,並以這些流重定向到其他程序或管道的方式啟動程序。
  3. 您可以打開一個套接字,並在一個充當客戶端的程序與另一個充當服務器的程序之間進行網絡通信(對等就是所有客戶端程序也充當服務器)。
  4. 您可以通過第三方項進行通信,例如消息隊列,數據庫條目(不好的想法,但我們都已經看到了),磁盤上的文件(同樣是不好的想法),共享內存緩沖區,名稱管道,共享信號燈等。

不幸的是,每種可能性的細節都太多了,以至於無法發布這樣的答案。 並且,如果它們與您的溝通目標不符,可能會成為噪音。 我建議您在閱讀這些技術中的一些與思考您對通信的風格和要求之間進行選擇。

暫無
暫無

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

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