多くのプロセスを実行する RHEL マシンがあります。多くのプロセスは同等の開始パラメーターを持っている可能性があるため、このカテゴリではtop
とps
は同一であり、互いに識別できません。
パラメータでプロセスに名前を付けたり、タグを付けたりして、プロセスを識別できるようにするにはどうすればよいですか? これを bash で行う以外に、Java プロセスまたは画面セッションでこれを行うにはどうすればよいでしょうか?
多くのプロセスを実行する RHEL マシンがあります。多くのプロセスは同等の開始パラメーターを持っている可能性があるため、このカテゴリではtop
とps
は同一であり、互いに識別できません。
パラメータでプロセスに名前を付けたり、タグを付けたりして、プロセスを識別できるようにするにはどうすればよいですか? これを bash で行う以外に、Java プロセスまたは画面セッションでこれを行うにはどうすればよいでしょうか?
これを行う標準的な方法は、 でプロセス ID を取得すること$!
です。そうすれば、プロセスにタグを付ける必要はありませんが、プロセスを一意に識別する ID を取得できます。例えば:
gedit & gedit1=$!
これにより gedit が開始され、プロセス ID が変数に保存されますgedit1
。後でプロセスを強制終了したい場合。私はちょうど書くことができます
kill $gedit1
このようなスクリプトを作成できます
#! /bin/bash
"$@"
あなたがそれに名前を付けたとしましょうprocess-label
。異なる名前をリンクできます
$ ln process-label other-label
そして、あなたは実行することができます
$ process-label sleep 1800 &
$ other-label sleep 800 &
プロセスにラベルが付けられます
15016 ttys002 0:00.00 /bin/bash ./process-label sleep 1800
15017 ttys002 0:00.00 sleep 1800
15021 ttys002 0:00.00 /bin/bash ./other-label sleep 800
15022 ttys002 0:00.00 sleep 800
これが Java に固有のものである場合は、次のように未使用のシステム プロパティを渡すことができます。
java -Dtag=process1 -jar ....
これはコマンドラインに表示されるだけでなく、必要に応じてプロセス内でも表示されます。
私が間違っている場合は訂正してください。しかし、あなたが探しているのはエイリアスだと思います。
ここを参照してください: http://www.stchman.com/alias.html .