Solution ID:135159501 Type: External 表題: UNIXマシン上でマシン起動時にFLEXlmライセンスマネージャを自 動的に立ち上げる方法 製品:Commonライセンス製品 バージョン:すべて OS: UNIX DEFECT #: N/A PATCH #: N/A 参照事項: Solution ID:19657 の日本語訳 作成年月日: 16-Sep-2002 改訂年月日: 質問: UNIXマシン上でマシン起動時にFLEXlmライセンスマネージャを自動的に 立ち上げる方法はありますか? 回答: マシン起動時に自動的にFLEXlmライセンスマネージャを起動するには、 ライセンスマネージャのプロセスがシステム起動時に開始されるように システムの設定を行う必要があります。ラショナル製品のためにFLEXlm ライセンスマネージャを起動するためのスクリプトは /configディレクトリにstart_lmgrd_on_ という名称で用意しておりますので、そちらをデーモンとして登録してくだ さい。 手順の詳細につきましては、環境により異なりますので、御社のマシン のシステム管理者にご相談ください。 例えば、Solaris上であるデーモンをシステム起動時にRunLevel2で起動 するためには、/etc/rc2.dディレクトリにデーモンを起動するためのスクリ プトを作成します。/etc/rc2.dにあるスクリプトファイルは、/etc/rc2ファイ ルの中から呼ばれており、/etc/rc2ファイルは、システム起動時に自動 的に実行されるファイルです。 rootの環境で、start_lmgrd_on_を/etc/init.d ディレクトリにコ ピーします。 % cp /config/start_lmgrd_on_ /etc/init.d /etc/rc2.dで、コピーしたスクリプトにシンボリックリンクを張ります。 % cd /etc/rc2.d % ln -s /etc/init.d/start_lmgrd_on_ SlmRational.sh rc2.dディレクトリ内でのスクリプトファイル名称(.shファイル名称)は任意に 指定してください。 FLEXlmのライセンスサーバーのみをUNIXマシンにインストールしていて、 start_lmgrd_on_ファイルが存在しない場合(Rational製品を rs_installスクリプトを使用してUNIXマシンにインストールを行っていない場 合は、start_lmgrd_on_ファイルは存在しません)は下記のスクリ プトをライセンスサーバーマシンの実際のインストール情報に合わせて修正 し、start_lmgrd_on_ファイルを作成します。 (スクリプト中のをお客様 の情報にあわせて変更します。) --------------------------------- #!/bin/sh # Run the license manager for Rational # FLEXlm version: 7.0f # (for entry in /etc/rc2.d/S98Rational) #------------------------------------------------------------------------ # This script can be called with the following command line options: # # start This will start the lmgrd license server processes. # This is the default action if no command line argument # is specified. # # stop Stop the license server processes. # # lmstat Run the lmstat command. You can do specify other options # to lmstat. For example, 'lmstat -a' or 'lmstat -f feature'. # # lmreread Tell the license server to reread the license file. # # exinstal Run the exinstal command on the license file to check the # validity of the license codes. # # lmdiag Run the lmdiag command on the license file. # # start_msg These actions are for the system rc scripts use. # and They display a message. # stop_msg # #------------------------------------------------------------------------ FLEXlm_action() { LICENSE_DIR=/base/cots/flexlm.7.0f/ sun4_solaris2 LICENSE_DAT=/config/.dat LICENSE_PATH='/config/.dat' LICENSE_EXE=$LICENSE_DIR/lmgrd LICENSE_LOG=/config/.log LICENSE_USER= case "$1" in stop_msg ) echo "Stop lmgrd/rational license server" return 0 ;; stop ) # Stop license manager. echo "Shutting down lmgrd/rational license servers..." $LICENSE_DIR/lmdown -q -c $LICENSE_DAT return $? ;; lmreread|reread ) # Tell license manager to reread the license file. echo $LICENSE_DIR/lmreread -c $LICENSE_DAT $LICENSE_DIR/lmreread -c $LICENSE_DAT return $? ;; lmdiag|diag ) # Do lmdiag command. Pass any other paramters to the command. shift echo $LICENSE_DIR/lmdiag -c $LICENSE_DAT -n $* $LICENSE_DIR/lmdiag -c $LICENSE_DAT -n $* return $? ;; lmstat|stat ) # Do lmstat command. Pass any other paramters to the command. shift echo $LICENSE_DIR/lmstat -c $LICENSE_DAT $* $LICENSE_DIR/lmstat -c $LICENSE_DAT $* return $? ;; exinstal|ex ) # Check licenses using exinstal. echo $LICENSE_DIR/exinstal $LICENSE_DAT $LICENSE_DIR/exinstal $LICENSE_DAT return $? ;; start_msg ) echo "Start lmgrd/rational license servers" return 0 ;; ""|start|Start|START ) ;; * ) echo "$0: command option '$1' not recognized." return 1 ;; esac if [ -x $LICENSE_EXE ] then if [ -f $LICENSE_DAT ] then # Need to 'su LICENSE_USER' if LICENSE_USER is not root # and this script is run as root. if [ "$LICENSE_USER" = root ] then Use_su_command=false elif id | grep "uid=0" >/dev/null 2>&1 then Use_su_command=true else Use_su_command=false fi if [ -s $LICENSE_LOG ] then RM_LOG="/bin/rm -f $LICENSE_LOG.prior" MV_LOG="/bin/mv $LICENSE_LOG $LICENSE_LOG.prior" if $Use_su_command then su $LICENSE_USER -c "$RM_LOG ; $MV_LOG" else eval $RM_LOG eval $MV_LOG fi fi case `uname -s` in SunOS ) # Check the hard limit for the number of file descriptors. # Needs to be 1024 according to Globetrotter. H_limit_n=`ulimit -H -n` case "$H_limit_n" in [0-9]* ) if [ "$H_limit_n" -gt 1024 ] then ulimit -H -n 1024 fi ;; unlimited ) ulimit -H -n 1024 ;; esac ;; esac if $Use_su_command then # Start license manager. echo "Starting FLEXlm lmgrd/rational license servers" \ "as $LICENSE_USER." START_LMGRD="$LICENSE_EXE -c $LICENSE_PATH -l $LICENSE_LOG" su $LICENSE_USER -c "$START_LMGRD &" >/dev/null 2>&1 else echo "Starting FLEXlm lmgrd/rational license servers." $LICENSE_EXE -c $LICENSE_PATH >$LICENSE_LOG 2>&1 & fi else echo "License data file not found:" echo " $LICENSE_DAT" return 1 fi else echo "rational license manager not found:" echo " $LICENSE_EXE" return 1 fi } ( # If this script is sourced (which it is by some rc scripts), running it # in a subshell prevents any setting of variables in the calling script. FLEXlm_action ${1+"$@"} exit $? ) ----- ご不明な点等ありましたら、ラショナルカスタマーサービスへお問い合わせください。