Solaris Container Manager 1.1 インストールと管理

プロジェクト内でのプロセスの移動または起動

プロジェクトで管理するアプリケーションに一意の実行可能ファイル名がない場合は、プロセスを手動でプロジェクトに移動できます。この方法によって、必要なアプリケーションのプロセスだけを追跡できます。

Procedureプロセスをアプリケーションベースのプロジェクトに個別に移動する

この手順は、アプリケーションベースのプロジェクトに一致式を指定せず、アプリケーションのプロセスを個別にプロジェクトに移動する場合に使用します。

手順
  1. アプリケーションを管理するアプリケーションベースのプロジェクトを作成します。「一致式を使用しない」チェックボックスを選択します。

    詳しい手順については、「アプリケーションベースのプロジェクトを作成する」を参照してください。

  2. 次のように入力して、/etc/project ファイルでプロジェクト名を確認します。


    % cat /etc/project
    

    このプロジェクト名は手順 5 で必要です。

  3. 必要な場合は、端末ウィンドウでアプリケーションを起動します。

  4. アプリケーションに対応するプロセスを確認します。

    例については、例 4–1例 4–2、および例 4–3 を参照してください。

  5. 対応するプロセスを移動します。

    1. Container Manager の GUI で、ナビゲーションウィンドウでホストをクリックします。

    2. 「プロジェクト」タブをクリックします。

      「プロジェクト」表が表示されます。

    3. 「プロジェクト」表でプロジェクト名をクリックします。プロジェクト名には、リンクであることを示す下線が表示されます。

      「プロパティ」タブが表示されます。

    4. 「プロセス」タブをクリックします。

      「プロセス」表が表示されます。

    5. 移動するプロセスを選択します。

    6. 「移動」ボタンをクリックします。

      「プロセスを移動」ダイアログが表示されます。

    7. プロジェクト (コンテナ) のリストから、プロセスを移動する新規プロジェクト (コンテナ) を選択します。

    8. 「了解」をクリックします。

  6. プロセスをすべて移動するまで手順 5 を繰り返します。


例 4–4 ps を使用したプロセスのプロジェクトへの移動の確認

ps コマンドと grep コマンドを組み合わせて使用して、プロセスがコンテナに移動したことを確認できます。次の例は、個別に移動したプロセスが「payroll」というコンテナにあることを示します。


% ps -ae -o pid,project,comm | grep payroll
17773    payroll ora_reco_AcctEZ 
17763    payroll ora_pmon_AcctEZ 
17767    payroll ora_lgwr_AcctEZ 


例 4–5 prstat を使用したプロセスのプロジェクトへの移動の確認

プロジェクト名がわかる場合は、prstat コマンドを使用してプロセスがコンテナに移動したことを確認できます。この例では、プロジェクト名は「payroll」です。


% prstat -J payroll
   PID USERNAME  SIZE   RSS STATE  PRI NICE      TIME  CPU PROCESS/NLWP       
 17773 admin     216M  215M cpu2     1    0   0:05:08  29% ora_reco_AcctEZ/1
 17763 admin     834M  782M sleep    1    0   0:35:02   0% ora_pmon_AcctEZ/1
 17767 admin     364M  352M run      1    0   0:22:05  23% ora_lgwr_AcctEZ/1							

Procedureプロジェクト内でアプリケーションを起動する

手順
  1. アプリケーションを管理するアプリケーションベースのプロジェクトを作成します。「一致式を使用しない」チェックボックスを選択します。

    詳しい手順については、「アプリケーションベースのプロジェクトを作成する」を参照してください。

  2. OS のバージョンによって、次のいずれかの操作を行います。

    • Solaris 8 OS の場合、次のように入力します。


      % srmuser user_name newtask -p project_name application_name
      

      user_name は UNIX ユーザー名、project_name は user.usernameになります。Solaris 8 OS では、ユーザーベースのコンテナだけを使用できるので、user_nameproject_name は同じです。

    • Solaris 9 または Solaris 10 OS の場合、次のように入力します。


      % newtask -p project_name application_name
      

      project_name は、コンテナに関連付けられているプロジェクト、application_name は、アプリケーションを起動するコマンドです。コマンドには、コマンド引数も含めます。

    アプリケーションがコンテナ内で起動します。


例 4–6 Solaris 9 または Solaris 10 OS でのコンテナ内でのアプリケーションの起動

music というコンテナ内で tracks というアプリケーションを起動する例を次に示します。


% newtask -p music tracks -z 0 mozart.au

-z 0 mozart.au は、アプリケーション tracks のコマンド行引数です。



例 4–7 アプリケーションとプロジェクトの関連付けの確認

アプリケーションが起動したら、次のように入力して、アプリケーションが関連付けられているプロジェクトを確認できます。


% ps -ae -o pid,project,comm

このコマンドの出力例を次に示します。


  PID  PROJECT COMMAND
...
17771   default ora_smon_SunMC
16246   system rquotad
26760   group.staff /bin/csh
16266   music	 tracks
17777   default ora_d000_SunMC
17775   default ora_s000_SunMC
17769   default ora_ckpt_SunMC

この例では、アプリケーション tracks の PID は 16266、プロジェクトは music、実行可能ファイルは tracks です。これは、例 4–6 で起動したアプリケーションと同じです。