1

シェルスクリプトからトリガーされるプロセスのプロセス名をどのように設定できますか?

たとえば、シェルスクリプトから1つのJavaクラスファイルを実行するjava <classname>場合、そのJavaプロセスを実行するJava_Process_1ときと同じように表示する必要がありますps ax

4

5 に答える 5

2

試すexec -a Java_Process_1 java <classname>

于 2013-03-19T14:29:53.180 に答える
0

Javaプロセスにこれが必要であると仮定すると、JVMのプロパティ機能を利用して、プロセスのラベルを作成できます(必要に応じて、プログラム自体も表示できます)。

java -Dmy.appid=Java_Process_1 <classname>

ただし、一般的には、出力するコマンドラインpsのの値を読み取ります。この値は、コマンドの正確な引数ベクトルの値になり、ヌル文字で区切られます。/proc/$pid/cmdlineこれは、「Java_Process_1」のようなカスタム文字列をそこに入れると、何らかの形の非標準的なトリックが必要になることを意味します。

于 2013-03-20T17:56:48.730 に答える
0

bash を使用している場合は、hwatkins の回答を受け入れる必要があります。それ以外の場合は、http: //cr.yp.to/ucspi-tcp.html の argv0 や runit の chpst ( http://smarden.org/runit/chpst.8 .html ) など

于 2013-03-20T17:40:51.553 に答える
-1

できません。プロセス自体がargv[0]を変更する前に、プロセスが存在する必要があります。

于 2013-03-19T08:53:44.870 に答える