Как я могу определить имя процесса для программы Java? [дубликат]

Ваша задача - избавиться от работы.

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

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

Интересно, что я обнаружил, что достижение этой цели сделало меня более ценным для моих работодателей. Чем больше я стремлюсь быть одноразовым, тем более ценным я становлюсь для них.

59
задан tshepang 14 January 2014 в 21:47
поделиться

5 ответов

Я не знаю, возможно ли это, но вы можете использовать инструмент командной строки, поставляемый с JDK, под названием 'jps'. Это похоже на * nix ps , но вместо этого просто программы Java. jps -v показывает все аргументы, которые вы передали в java.

Кроме того, я видел, как люди прикрепляли «имя процесса» к своим процессам Java, добавляя неиспользуемое -Dmyprocessname к аргументам.

47
ответ дан 24 November 2019 в 18:28
поделиться

Когда я впервые прочитал это, идея изменить имя процесса показалась мне невозможной. Однако, согласно этой древней теме на форуме sun , для этого можно использовать оболочки C ++ вокруг исполняемого файла JVM.

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

5
ответ дан 24 November 2019 в 18:28
поделиться

Если вы хотите использовать другое имя процесса, вам придется создать свой собственный двоичный файл для запуска приложения Java, используя что-то вроде JSmooth .

Посмотрите на это вопрос для обсуждения создания таких двоичных файлов.

2
ответ дан 24 November 2019 в 18:28
поделиться

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

Такие вещи, как LimeWire, однако, есть, но я думаю, что это подробнее о GCJ - http://gcc.gnu.org/java/

1
ответ дан 24 November 2019 в 18:28
поделиться

Ваш лучший вариант - это что-то вроде launch4j http://launch4j.sourceforge.net/

Для этого есть ошибка, зарегистрированная в Sun bugtracker, но она не имеет высокого приоритета {{ 1}} http://bugs.sun.com/view_bug.do?bug_id=6299778

4
ответ дан 24 November 2019 в 18:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: