Как изменить / назначить имя процесса Java .jar - PullRequest
7 голосов
/ 10 января 2011

Я использую Minecraft под Linux, что подразумевает запуск исполняемого файла .jar.Это означает, что он отображается как «Java» под пс, а не «Minecraft».Я хотел бы присвоить ему имя процесса "minecraft".

Оглядываясь вокруг, я нашел следующий совет для назначения имени процесса с помощью bash:

как изменить имяпроцесс приложения Java?

exec -a goodname java ...

Я обычно запускаю с:

java -cp ~/Games/Minecraft/Minecraft.jar net.minecraft.LauncherFrame

Итак, попытался сделать скрипт bash:

#!/bin/bash
exec -a minecraft java -cp ~/Games/Minecraft/Minecraft.jar net.minecraft.LauncherFrame

Но когдазапустите его, он по-прежнему отображается как «Java» под командой PS.

Что я делаю не так?

1 Ответ

2 голосов
/ 10 января 2011

Это работает для меня.Я не тестировал с Java, но я тестировал с sleep:

victor@vz:~$ exec -a minecraft sleep 1m &
[1] 3858
victor@vz:~$ ps x | grep mine
 3858 pts/2    S      0:00 minecraft 1m
 3860 pts/2    S+     0:00 grep --color=auto mine
victor@vz:~$ 

Однако, насколько я могу судить по документации, это, кажется, просто косметическое изменение:

victor @ vz: ~ $ help exec exec: exec [-cl] [-a name] [команда [arguments ...]] [перенаправление ...] Заменить оболочку на данную команду.

Execute COMMAND, replacing this shell with the specified program.
ARGUMENTS become the arguments to COMMAND.  If COMMAND is not specified,
any redirections take effect in the current shell.

Options:
  -a name pass NAME as the zeroth argument to COMMAND

Что касается комментария OP к этому ответу: я только что проверил его на удаленной машине с java:

victorz@exa:~$ javac test.java # spits out an Administrator.class file among others
victorz@exa:~$ exec -a minecraft java Administrator &
[1] 13142
victorz@exa:~$ ps x | grep mine
13142 pts/1    Sl     0:00 minecraft Administrator
13161 pts/1    S+     0:00 grep --color=auto mine
victorz@exa:~$ 

Возможно, вы не используете переключатель xдо ps?У меня нет совпадений, если я не использую переключатель x.

...