2011-11-18 10 views
2

グラスフィッシュのインストールがあり、実行中の場合は簡単なターミナルコマンドのチェックが必要です。そうであれば、プロセスをシャットダウンします。または、実行されていない場合は、サーバーを起動します。ターミナルコマンド:実行中のプロセスの開始または終了

/Applications/NetBeans/glassfish-3.1.1/bin/.asadmin stop-domain domain 

私はこれを起動することができるよりも簡単なAlfred.appスクリプトをしたいと思います。

/Applications/NetBeans/glassfish-3.1.1/bin/./asadmin start-domain domain 

私は入ることができ、サーバーを停止するには:

私は入ることができ、サーバを起動するにはドメインが実行されていない場合は停止し、実行している場合は停止します。

答えて

1

これを実行する1つの方法は、起動時にサーバーのプロセスIDをファイルに書き留め、そのプロセスが実行中であるかどうかを確認する別のスクリプトを確認することです。

たとえば、スクリプトA(無条件にサーバを実行するには):唯一のMac OS X 10.8(マウンテンライオン)はpgrepをインストール

#!/bin/sh 
pid=`pgrep -F ~/.glassfish-server.pid` # file chosen in script A 
if [ "x$pid" = "x" ] ; then 
    # process has died; restart by running script A 
    /path/to/scriptA 
fi 

注:

#!/bin/sh 
/Applications/NetBeans/glassfish-3.1.1/bin/./asadmin start-domain domain 
# file name is arbitrary 
pgrep whateverTheProcessNameIs > ~/.glassfish-server.pid 

を、スクリプトBでデフォルトでは;そうでなければ、他の方法(例えば、ps出力の解析)を使用して、実行中のプロセスを確認する必要があります。

このチェックを定期的に実行する方法は、さまざまな方法があります。私はAlfredが実行可能なスクリプト(chmod +x scriptA scriptB)を実行すると仮定していますが、わかりません。