4.11.15 OSサービスの操作
機能
WindowsまたはLinux環境において,OSサービスに対する操作を実行します。
このドキュメント内で使用している用語を次に示します。
・OSサービス
JP1/AOで実行するサービスと区別するため,WindowsのサービスおよびLinuxのサービスを総称してOSサービスと記載します。
この部品では,次のサーバを前提とします。
・実行対象サーバ
この部品を実行する対象となるサーバです。
指定するOSサービス名(common.serviceNameプロパティ)は,実行対象サーバのOS種別によって異なります。
・OSがWindowsの場合:「コントロール パネル」−「管理ツール」−「サービス」の名前欄に表示される名称,サービス表示名。
・OSがLinuxの場合:/etc/init.dディレクトリ配下のサービススクリプト名。
実行するOSサービス操作(common.serviceCommandプロパティ)はWindows,Linux共通で,次の4つです。他の操作は指定できません。
・start(開始)
・stop(停止)
・restart(再起動)
・status(状態取得)
各操作の仕様は,実行対象サーバの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ファイルを読み込む権限が無いため,プログラムの実行状態を判定できません。
利用場面
この部品は,OSサービスの状態取得や制御を行う場合に利用できます。
前提条件
【システム内前提製品】/【実行対象サーバ内前提製品】/【実行対象サーバの稼働OS】の最新のサポート状況については,リリースノートを参照してください。
【システム内前提製品】
JP1/Automatic Operation 10-50以降
【実行対象サーバ内前提製品】
なし。
【実行対象サーバの稼働OS】
(1) Windows Server 2008 Standard/Enterprise (x86/x64),Windows Server 2008 R2 Standard/Enterprise/Datacenter
(2) Windows Server 2012 Standard/Datacenter,Windows Server 2012 R2 Standard/Datacenter
(3) Red Hat Enterprise Linux 5 Advanced Platform (x86),Red Hat Enterprise Linux 5 (x86),Red Hat Enterprise Linux 5 Advanced Platform (AMD/Intel 64),Red Hat Enterprise Linux 5 (AMD/Intel 64)
(4) Red Hat Enterprise Linux Server 6 (32-bit x86),Red Hat Enterprise Linux Server 6 (64-bit x86_64)
【実行対象サーバの使用条件】
なし。
注意事項
(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の場合は,大文字・小文字も区別されます。
実行権限
Windowsの場合:Administrator権限
Linuxの場合:root権限
バージョン
01.50.00
カテゴリ
OperatingSystem/Common/Basic
タスクログに表示される部品の名称
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)を指定します。 |
status |
入力 |
○ |
Windows.dependOnServiceStop |
依存関係にあるOSサービスの停止要否:Windows固有 |
実行対象サーバのOSがWindowsの場合に,指定したOSサービスに対して他のOSサービスが依存していても停止または再起動を行う場合はtrue,停止または再起動を行わない場合はfalseを指定します。省略した場合はfalseが設定されます。OSサービスの開始または状態取得を行う場合および,OSがLinuxの場合は指定しても無視されます。 |
− |
入力 |
△ |
common.serviceStatus |
OSサービスの状態 |
OSサービスの状態取得を実行した場合に,取得したOSサービスの状態が格納されます。 |
− |
出力 |
△ |
common.returnValue |
部品の戻り値 |
この部品の戻り値が格納されます。 |
− |
出力 |
△ |