0

UNIX(Solaris 9)のスクリプトを介して実行されているクラスがあります。スクリプト内では、クラスは次のように実行されています。

java -cp $CLASSPATH myPackage.component.MyMainClass $PROPERTIES_PATH/myMainClassProperties.properties

そのシェルは、正しく機能するか失敗するかを確認するために監視する必要があります。また、別のパラメータファイルと並行して実行されます。だから、私の質問は次のとおりです。

  • topを使用した場合、どのクラスが実行されているかを知るにはどうすればよいですか。それは可能ですか?**
  • 並列実行時にクラッシュしないようにクラスを一意に識別する方法はありますか?
  • myPackage.component.MyMainClassプロセスの表のように常に表示されますか?

私が並列と言うとき、私は次のようなものを指します:

java -cp $CLASSPATH myPackage.component.MyMainClass $PROPERTIES_PATH/myMainClassProperties.properties

そして別のウィンドウ/セッション/ジョブで

java -cp $CLASSPATH myPackage.component.MyMainClass $PROPERTIES_PATH/mySomeOtherProperties.properties

**私がそう言うとき、トップは次のようなものを示しているからです:

PIDユーザー名THRPRINICE SIZE RES STATETIMECPUコマンド
8545バットマン47410 190M112Mスリープ0:04:000.07%java
9022ジョーカー91410 286M211Mスリープ0:01:000.09%java
4

2 に答える 2

1

topに渡すすべての引数を含む完全なコマンドを伝えることができますVM

またps、完全なコマンドも提供します(一致する引数を使用)。

私のdebianでは、表示されるコマンドをトグルで切り替えることができます(コマンド全体が表示されるまでcトップを押してください)c

psというのは、引数-ef(but )を使用するの-fは、その状況では単独で行うべきだからです。

man psとの出力を読みたいと思うかもしれませんman top

于 2012-07-25T16:10:03.810 に答える
1

ptree | grep javaまたはを使用して情報を取得することができましたptree | grep MyMainClass

実行されているプロセスのツリーと、そこで実行されているコマンドが一覧表示されます。たとえば、次のようになります。

13456ksh
    123476 java -cp java -cp /classpath/fullpath myPackage.component.MyMainClass /full/properties/path/myMainClassProperties.properties

最初の行はシェル スクリプトで、その中 (次の行) で Java jar を呼び出します。これは、Solaris 9 で機能します。

@Angelo-Neuschitzer に感謝します。

于 2012-07-25T19:59:33.177 に答える