7.8.5 注意事項
ユーザスクリプト機能を使用する場合の注意事項を次に示します。
-
ユーザスクリプトには,次の処理を記述しないでください。ユーザスクリプトが実行したまま終了しなくなります。
-
入力応答を求める処理
-
無限ループになる処理
-
-
ユーザスクリプトに引数は記述できません。
-
ユーザスクリプトから出力される標準出力,標準エラー出力などは,ログに取得されません。このため,ユーザスクリプトの標準出力,標準エラー出力を取得する場合は,ユーザスクリプトの中でファイルに出力するなどの処理を実行する必要があります。
-
ユーザスクリプトと,<ユーザスクリプト配置ディレクトリ>のファイルやディレクトリは,ユーザスクリプトの処理が完了すると仮想サーバ上から削除されます。仮想サーバ上に残しておきたいファイルは,あらかじめユーザスクリプトの中でコピーするなどの処理を実行する必要があります。
-
ユーザスクリプト実行時のカレントディレクトリは,<サーバ通信エージェントによって起動されるコマンド用の作業ディレクトリ>となります。<サーバ通信エージェントによって起動されるコマンド用の作業ディレクトリ>のデフォルトを次に示します。
- ゲストOSがWindowsの場合
-
<Application Serverのインストールディレクトリ>\sinagent\work
- ゲストOSがLinuxの場合
-
<Application Serverのインストールディレクトリ>/sinagent/work
このため,<ユーザスクリプト配置ディレクトリ>に含まれるファイルを相対パスで参照する場合には,カレントディレクトリを意識してスクリプトを記述してください。<ユーザスクリプト配置ディレクトリ>の仮想サーバ上への転送先ディレクトリのデフォルトは,次のとおりです。
- ゲストOSがWindowsの場合
-
<Application Serverのインストールディレクトリ>\sinagent\work\userscript_dir
- ゲストOSがLinuxの場合
-
<Application Serverのインストールディレクトリ>/sinagent/work/userscript_dir
-
-timeoutオプションを指定してvmiunitコマンドのサブコマンド「script」を実行した場合に,実行待ち時間を超えてユーザスクリプトが実行中のときはタイムアウトが発生します。タイムアウトが発生しても,ユーザスクリプトのプロセスは強制的に終了されません。