4.13.12 OSサービスの操作
機能
WindowsまたはLinux環境において,OSサービスに対する操作を実行します。
このドキュメント内で使用している用語を次に示します。
・OSサービス
JP1/AOで実行するサービスと区別するため,WindowsのサービスおよびLinuxのサービスを総称してOSサービスと記載します。
この部品では,次のサーバを前提とします。
・実行対象サーバ
この部品を実行する対象となるサーバです。
指定するOSサービス名(common.serviceNameプロパティ)は,実行対象サーバのOS種別によって異なります。
・OSがWindowsの場合:「コントロール パネル」−「管理ツール」−「サービス」の名前欄に表示される名称,サービス表示名。
・OSがLinuxの場合:/etc/init.dディレクトリ配下のサービススクリプト名。
実行するOSサービス操作(common.serviceCommandプロパティ)は,次の6つです。他の操作は指定できません。
・start(開始)
・stop(停止)
・restart(再起動)
・status(状態取得)
・suspend(一時中断)*
・resume(再開)*
*:一時中断と再開は,実行対象サーバがWindowsの場合のみ操作可能です。
各操作の仕様は,実行対象サーバのOSの仕様に従います。例えば,既に実行中のOSサービスに対するstart操作,および既に停止しているOSサービスに対するstop操作は,エラーにはならず正常終了します。また,既に停止しているOSサービスに対するrestart操作は,起動処理だけを実行します。
status操作を実行した場合は,取得結果をOSサービスの状態(common.serviceStatusプロパティ)に数字で格納します。数字の意味を次に示します。
・Windowsの場合:
1: サービスは停止しています。
2: サービスは開始処理中です。
3: サービスは停止処理中です。
4: サービスは実行中です。
5: サービスの継続は保留中です。
6: サービスは一時中断処理中です。
7: サービスは一時中断しています。
99: サービスは状態不明です。
・Linuxの場合:
OSサービス名に指定したサービススクリプトの仕様に従います。例として,Red Hat Enterprise Linuxの一般的なサービススクリプトの仕様を次に示します。
0: プログラムは実行中。
1: プログラムは停止していますが,プロセス ID ファイルが残っています。
2: プログラムは停止していますが,ロックファイルが残っています。
3: プログラムは停止しています。
4: プロセスIDファイルを読み込む権限が無いため,プログラムの実行状態を判定できません。
suspend操作を実行した場合,指定したOSサービスの状態によって次のような実行結果となります。
・OSサービスの状態が「一時停止」の場合,OSサービスの状態は「一時停止」のまま,この部品は正常終了します。
・OSサービスの状態が「開始」の場合,OSサービスの状態は「一時停止」になり,この部品は正常終了します。
・OSサービスの状態が「停止」の場合,OSサービスの状態は「停止」のまま,この部品は異常終了します。
resume操作を実行した場合,指定したOSサービスの状態によって次のような実行結果となります。
・OSサービスの状態が「一時停止」の場合,OSサービスの状態は「開始」になり,この部品は正常終了します。
・OSサービスの状態が「開始」の場合,OSサービスの状態は「開始」になり,この部品は正常終了します。
・OSサービスの状態が「停止」の場合,OSサービスの状態は「停止」のまま,この部品は異常終了します。
利用場面
この部品は,OSサービスの状態取得や制御を行う場合に利用できます。
前提条件
【実行対象サーバ内前提製品】/【実行対象サーバの稼働OS】の最新のサポート状況については,リリースノートを参照してください。
また、OSおよび製品について略称を用いています。対象とするOSおよび製品については「はじめに」を参照してください。
【実行対象サーバ内前提製品】
なし。
【実行対象サーバの稼働OS】
(1) Windows Server
(2) Red Hat Enterprise Linux Server
(3) Oracle Linux
【実行対象サーバの使用条件】
なし。
注意事項
(1) 実行対象サーバの稼働OSがWindowsの場合,エージェントレス接続先に定義された接続ユーザーに,操作対象のOSサービスに対するアクセス許可が必要です。
(2) 実行対象サーバの稼働OSがWindowsの場合,開始および再起動できるOSサービスは,スタートアップの種類が「手動」または「自動」のOSサービスだけです。スタートアップの種類が「無効」のOSサービスは開始できません。
(3) 実行対象サーバの稼働OSがWindowsの場合,指定したOSサービスと依存関係のある他のOSサービスに対する操作は実行しません。そのため,指定したOSサービスに対する操作が失敗する場合があります。
(4) 実行対象サーバの稼働OSがWindowsの場合,次の条件が重なると,この部品が異常終了します。
・他のOSサービスが依存しているOSサービスに対して,停止または再起動を実行する。
・依存関係にあるOSサービスの停止要否(Windows.dependOnServiceStopプロパティ)にfalseと指定する。
(5) 実行対象サーバの稼働OSがWindowsの場合,プロパティには「"」(ダブルクォーテーション)および「'」(シングルクォーテーション)を含む文字列は指定しないでください。指定した場合,この部品が異常終了します。
(6) 実行対象サーバの稼働OSがLinuxの場合,プロパティには「"」(ダブルクォーテーション)を含む文字列は指定しないでください。指定した場合,この部品が異常終了します。
(7) 実行対象サーバの稼働OSとは関係なく,OSサービス名(common.serviceNameプロパティ)は完全名で指定してください。部分一致やワイルドカードによる指定はできません。特にOSがLinuxの場合は,大文字・小文字も区別されます。
(8) 一時中断,再開操作を実行する際に,一時中断および再開をサポートしていないOSサービスを指定した場合,この部品は異常終了します。
実行権限
Windowsの場合:Administrator権限
Linuxの場合:root権限
バージョン
02.01.00
部品のタグ
Control OS,Windows,Linux
タスクログに表示される部品の名称
osOperateService
戻り値
戻り値 |
説明 |
---|---|
0 |
正常 |
12 |
異常(ユーザーミス) プロパティ不正 |
21 |
異常(環境不正) コマンドが見つからない/実行できない(部品スクリプトでエラーを検知) |
27 |
異常(エラー内容はタスクログで確認) |
41 |
異常(部品内でエラーを検知) プロパティ未入力(部品スクリプトでエラーを検知) |
プロパティ一覧
プロパティ一覧を次の表に示します。
プロパティキー |
プロパティ名 |
説明 |
デフォルト値 |
入出力種別 |
必須区分 |
---|---|---|---|---|---|
plugin.destinationHost |
実行対象サーバのホスト名 |
この部品を実行するサーバのホスト名またはIPアドレスを指定します。IPv6アドレスには対応していません。 |
− |
入力 |
○ |
common.serviceName |
OSサービス名 |
操作するOSサービス名を指定します。OSがWindowsの場合はサービス表示名,Linuxの場合はサービススクリプト名が該当します。 |
− |
入力 |
○ |
common.serviceCommand |
OSサービスの操作 |
OSサービスに対する操作(start/stop/restart/status/suspend/resume)を指定します。 |
status |
入力 |
○ |
Windows.dependOnServiceStop |
依存関係にあるOSサービスの停止要否:Windows固有 |
実行対象サーバのOSがWindowsの場合に,指定したOSサービスに対して他のOSサービスが依存していても停止または再起動を行う場合はtrue,停止または再起動を行わない場合はfalseを指定します。省略した場合はfalseが設定されます。OSサービスの開始または状態取得を行う場合および,OSがLinuxの場合は指定しても無視されます。 |
− |
入力 |
△ |
common.serviceStatus |
OSサービスの状態 |
OSサービスの状態取得を実行した場合に,取得したOSサービスの状態が格納されます。 |
− |
出力 |
△ |
common.returnValue |
部品の戻り値 |
この部品の戻り値が格納されます。 |
− |
出力 |
△ |