2012-08-06 5 views
2

Quelqu'un pourrait-il dire comment démarrer/arrêter le serveur Jboss-7.1.1 dans MAC en utilisant Shell Script.Jboss 7.1.1 script de démarrage/arrêt

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 **********"; 

} 

Le script ci-dessus fonctionne correctement dans Jboss-7.0.2 pour arrêter le serveur. Mais dans Jboss-7.1.1, il n'arrête pas le serveur. S'il vous plaît, quelqu'un aide à résoudre cela.

+0

est-ce suffisant pour votre réponse ou y at-il autre chose dont vous pourriez avoir besoin? – Eugene

Répondre

15

1) Vous devez d'abord télécharger JBoss. (Je suppose que vous avez déjà une version Java valide installée).

2) Une fois téléchargé, décompressez le dossier:

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 

Si vous voulez arrêter:

ctrl + c 

bien sûr votre chemin peut sois différent. Si vous voulez l'exécuter en arrière-plan, puis le faire:

./standalone.sh & 

arrêter:

ps -ef | grep jboss 

Vous obtiendrez une sortie proche de celle-ci:

[email protected] ~/D/J/j/bin> ps -ef | grep jboss 
501 1471 1446 0 1:32AM ttys000 0:03.31 /usr/.... 

Et puis question :

kill -9 1471 

Enfin avec JBo ss CLI vous pouvez exécuter:

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

EDIT

Le script semble faire son travail, tout ce que vous avez à faire est de modifier un peu:

#!/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 **********"; 

Notez que j'ai enlevé quelques lignes et changé java avec jboss

Mettre cela dans un fichier appelé stopJboss.sh

Puis:

sudo chmod +x stopJBoss.sh 

ensuite invoquer en cas de besoin:

./stopJBoss.sh 

Cela ne fonctionnera que si vous avez une seule instance de fonctionnement JBoss, pour plus, vous aurez besoin d'un script différent.

P.S.Je ne suis pas un gourou dans les scripts, mais voici ce que cette ligne ne:

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

Il va chercher tous les processus qui contient le mot-clé jboss. Mais il va aussi sortir la commande grep elle-même, ainsi vous obtiendrez une sortie de deux commandes, mais vous n'avez besoin que du premier.

Vous pouvez exécuter ps -e | grep jboss et voir que la sortie contient deux lignes et pas un. C'est pourquoi vous appelez grep -v grep - ce qui signifie: dans ces deux lignes, vous trouvez grep pour "grep" mais inversez le résultat, de cette façon vous omettez le second résultat inutile. Puis awk '{print $ 1}' divise la chaîne en jetons et prend le premier, qui est le PID dont vous avez besoin, et vous passez ce PID à la commande kill en utilisant la commande xargs.

+0

J'ai posté un script pour arrêter le serveur. S'il vous plaît regarder dans et aidez-moi à résoudre le problème – Suresh

+0

@ user1029292 voir ma mise à jour – Eugene

+0

Merci pour votre code. J'ai changé le script comme vous l'avez mentionné. Mais ça ne tue pas mon processus. S'il vous plaît aidez-moi si vous avez une autre idée. – Suresh

6

Pour arrêter le serveur via la ligne de commande

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

en supposant que vous utilisez sur localhost et en utilisant le port de gestion native par défaut à savoir 9999

sinon vous devez spécifier l'adresse IP (jboss.bind. adresse) et le port de gestion native (jboss.management.native.port) configuré dans standalone.xml

sh ./bin/jboss-cli.sh --connect controller=<IP>:<native-mgmt-port> command=:shutdown 
1

Après plongée sur Google, j'ai réussi à mettre ce travail:

#!/bin/sh 
    ### BEGIN INIT INFO 
    # Provides: jboss 
    # Required-Start: $local_fs $remote_fs $network $syslog 
    # Required-Stop: $local_fs $remote_fs $network $syslog 
    # Default-Start: 2 3 4 5 
    # Default-Stop: 0 1 6 
    # Short-Description: Start/Stop JBoss AS v7.1.1 
    ### END INIT INFO 
    # 
    #source some script files in order to set and export environmental variables 
    #as well as add the appropriate executables to $PATH 

    export JAVA_HOME=/usr/lib/jvm/java-7-oracle 
    export PATH=$JAVA_HOME/bin:$PATH 

    export JBOSS_HOME=/home/gaspar/jboss-as-7.1.1.Final 
    export PATH=$JBOSS_HOME/bin:$PATH 

    case "$1" in 
    start) 
    echo "Starting JBoss AS 7.1.1" 
    #original: 
    #sudo -u jboss sh ${JBOSS_HOME}/bin/standalone.sh 

    #updated: 
    start-stop-daemon --start --quiet --background --chuid jboss --exec ${JBOSS_HOME}/bin/standalone.sh 
    ;; 
    stop) 
    echo "Stopping JBoss AS 7.1.1" 
    #original: 
    #sudo -u jboss sh ${JBOSS_HOME}/bin/jboss-admin.sh --connect command=:shutdown 

    #updated: 
    sudo -u jboss sh ${JBOSS_HOME}/bin/jboss-cli.sh --connect command=:shutdown 
    ;; 
    *) 
    echo "Usage: /etc/init.d/jboss {start|stop}" 
    exit 1 
    ;; 
    esac 

    exit 0 

:)

0

Voici comment je le fais:

ps -ef | grep jboss | grep -v grep | awk '{print $2}' | xargs kill -9 

J'ai ceci dans un fichier bash que j'appelle killjboss et il fonctionne bien avec moi.

Questions connexes