3

Shell Scriptを使用して MAC で Jboss-7.1.1 サーバーを起動/停止する方法を教えてください。

stop_viewer(){
echo "********* Stopping JBoss Server by killing the process **********";
ps | grep domain.sh | grep -v grep | awk '{print $1}' | xargs kill
ps | grep java | grep -v grep | awk '{print $1}' | xargs kill
ps -ef | grep superuser | grep java | grep -v grep | awk '{print $2}'| xargs kill
echo "********* Stopped JBoss Server by killing the process **********";

}

上記のスクリプトは、サーバーを停止するために Jboss-7.0.2 で正常に動作しています。しかし、Jboss-7.1.1 では、サーバーは停止しません。誰かがこれを解決するのを手伝ってください。

4

4 に答える 4

17

1) まず、JBoss をダウンロードする必要があります。(有効な Java バージョンが既にインストールされていると仮定します)。

2) ダウンロードしたら、フォルダを解凍します。

 cd /Users/eugene/Downloads

 mkdir JBOSS-7

 cp /Users/eugene/Downloads/jboss-as-7.1.1.Final.zip /Users/eugene/Downloads/JBOSS-7

 cd /Users/eugene/Downloads/JBOSS-7

 unzip /Users/eugene/Downloads/jboss-as-7.1.1.Final.zip 

3)

 cd Users/eugene/Downloads/JBOSS-7/jboss-as-7.1.1.Final/bin

 ./standalone.sh

停止したい場合:

 ctrl + c

もちろん、あなたの道は異なるかもしれません。バックグラウンドで実行したい場合は、次のようにします。

 ./standalone.sh &

それを止める:

 ps -ef | grep jboss

これに近い出力が得られます。

 eugene@eugenes-MacBook-Pro ~/D/J/j/bin> ps -ef | grep jboss
 501  1471  1446   0  1:32AM ttys000    0:03.31 /usr/....

そして、次を発行します。

 kill -9 1471

最後に、JBoss CLI を使用して以下を実行できます。

 ./jboss-cli.sh --connect ":shutdown"

編集

スクリプトはその仕事をしているようです。あなたがしなければならないのは、それを少し編集することだけです:

 #!/bin/sh

 echo "********* Stopping JBoss Server by killing the process **********";
 ps -e | grep jboss | grep -v grep | awk '{print $1}' | xargs kill
 echo "********* Stopped JBoss Server by killing the process **********";

数行を削除し、javajbossに変更したことに注意してください。

これを stopJboss.sh というファイルに入れます

それで :

 sudo chmod +x stopJBoss.sh

次に、必要に応じて呼び出します。

 ./stopJBoss.sh

これは、JBoss のインスタンスを 1 つ実行している場合にのみ機能します。複数のインスタンスを実行するには、別のスクリプトが必要になります。

PS 私はスクリプト作成の第一人者ではありませんが、この行の機能は次のとおりです。

 ps -e | grep jboss | grep -v grep | awk '{print $1}' | xargs kill

jbossキーワードを含むすべてのプロセスを検索します。ただし、grep コマンド自体も出力するため、2 つのコマンドの出力が得られますが、必要なのは最初の 1 つだけです。

ps -e | を実行できます。jboss を grep し、出力に 1 行ではなく 2 行が含まれていることを確認します。

そのため、grep -v grep を呼び出します。つまり、これらの 2 行で、"grep" の grep が見つかりましたが、結果を反転します。このようにして、2 番目の不要な結果を省略します。

次に awk '{print $1}' は文字列をトークンに分割し、最初のトークンを取得します。これが必要な PID であり、xargs コマンドを使用してこの PID を kill コマンドに渡します。

于 2012-08-06T10:26:35.537 に答える
6

コマンドラインからサーバーをシャットダウンするには

sh ./bin/jboss-cli.sh --connect command=:shutdown 

localhost で実行していて、デフォルトのネイティブ管理ポート、つまり 9999 を使用しているとします。

そうでない場合は、standalone.xml で設定された IP (jboss.bind.address) とネイティブ管理ポート (jboss.management.native.port) を指定する必要があります。

sh ./bin/jboss-cli.sh --connect controller=<IP>:<native-mgmt-port> command=:shutdown
于 2012-12-13T18:43:27.213 に答える