Как читать / писать в процесс в Java

1

Я пытаюсь получить доступ к запущенному процессу, которому я знаю имя, чтобы я мог читать и писать на него.

Как это можно сделать на Java?

  • 2
    Это зависит от операционной системы, поэтому не очень "Java". Какую операционную систему вы используете? А что вы подразумеваете под «чтение и запись» - вы имеете в виду память процесса или его потоки ввода и вывода?
  • 0
    Вы не можете, если вы не создали процесс самостоятельно как java.lang.Process.
Показать ещё 3 комментария
Теги:
process

1 ответ

1

Есть много способов. Что вам нужно, недостаточно ясно, чтобы узнать, какой из них подходит для ваших нужд.

  1. Вы можете запустить JVM с флагами отладки, что позволит вам подключить отладчик (получить доступ на чтение и запись к внутренним компонентам вашей программы).
  2. Вы можете читать и записывать на стандартный вход, стандартный вывод и стандартные потоки ошибок, запуская программу с этими потоками, перенаправленными на другие программы или каналы.
  3. Вы можете открыть сокет и выполнить сетевую связь между одной программой, действующей как клиент, а другой - сервером (одноранговый сервер - это все клиентские программы, которые также выступают в качестве серверов).
  4. Вы можете общаться через сторонний элемент, например, очередь сообщений, запись базы данных (плохая идея, но мы все ее видели), файл на диске (опять плохая идея), буфер общей памяти, канал имен, общий семафор и т.д.

К сожалению, детали каждой возможности слишком велики, чтобы публиковать в таком ответе; и, вероятно, будет шум, если они не соответствуют вашим целям в области коммуникации. Я предлагаю вам поочередно читать некоторые из этих технологий и думать о том, какой стиль и требования у вас есть для общения.

  • 0
    Конечно, есть и другие способы, но после достаточных возможностей, вы поймете смысл.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню