p4 monitor

概要

Perforceのプロセス情報を表示します。

構文


p4 [g-opts] monitor show [-a -l -e -L [-s R/T/P/I]
p4 [g-opts] monitor terminate id
p4 [g-opts] monitor clear id
p4 [g-opts] monitor clear all
p4 [g-opts] monitor pause id
p4 [g-opts] monitor resume id

解説

p4 monitorによってシステム管理者は、Perforceサーバマシン上でどのようなPerforce関連プロセスが実行中かを監視することができます。

p4 monitorを使用するには、p4 configureで構成可能変数monitorを設定して、Perforceサービス上で監視を有効にする必要があります。プロセスの監視を制御するには、構成可能変数monitorを0(監視を無効にする)、1(アクティブなプロセスの監視を有効にする)、または2(アクティブなプロセスと休止プロセスの監視を有効にする)に設定します。値5、10、25は、ロック情報の取得に関係します。

コマンド構文バリアントには、次の選択肢があります。

  • 現在のプロセス情報を表示するには、p4 monitor showを使用します。デフォルトではすべてのプロセスがリストされますが、引数なしでコマンド(例えば、synceditsubmit)だけが表示されます。この形式でp4 monitorを実行するには、list権限が必要です。指定された状態のプロセスのみを表示するには、-s statusを使用します。

    それぞれのコマンドに関連付けられた引数のリストを表示するには、-a(arguments)オプションまたは-l(long)オプションを使用します。ユーザ環境からの追加情報が必要な場合は、-e(environment)オプションを使用します。これらのオプションを指定するには、admin権限が必要です。-Lオプションにより、ロックされたファイルを表示できます。

  • プロセスを終了させるためにマークするには、p4 monitor terminate idを使用します。このコマンドの実行には、super権限が必要です。

    プロセスが少なくとも10秒間実行中でない限り、p4 monitor terminateコマンドはプロセスに終了のためのマークを付けません。p4 obliterateなど一部のコマンドは終了することができません。

  • 監視テーブルからエントリを消去するには、p4 monitor clear idを使用します。p4 monitor clear allを実行すれば、テーブル全体を消去することができます。これらのコマンドの実行には、super権限が必要です。

    実行中と示されたプロセスは、たとえp4 monitor clearで監視テーブルから消去されたとしても、終了するまで実行し続けます。

  • p4 verifyp4 pullなどの長時間実行されるタスクを、p4 monitor pauseおよびp4 monitor resumeによって制御することができます。

p4 monitorの出力の各行には、次のフィールドが含まれます。

pid status owner hh:mm:ss command [args]

pid

UNIX環境におけるプロセスID(またはWindows環境におけるスレッドID)です。

status

プロセスにより、RTPIを示します。プロセスが実行中の場合はR、終了の場合はT、一時停止の場合はP、アイドルの場合はIになります。

owner

そのコマンドを実行したユーザのPerforceユーザ名です。

hh:mm:ss

コマンドを実行してから経過した時間を示します。

command [args]

Perforceサービスが受信したコマンドと引数です。

例えば、p4 monitor show -Lコマンドの次のような出力では、ロックされたファイルについての情報が以下のように表示されます。

8764 R user 00:00:00 edit
      [server.locks/clients/88,d/ws4(W),db.locks(R),db.rev(R)]
8766 R user 00:00:00 edit
      [server.locks/clients/89,d/ws5(W),db.locks(R),db.rev(R)]
8768 R user 00:00:00 monitor

pid、ステータス、所有者、経過時間に続けて、ws4ws5のワークスペース専用モードによるクライアントワークスペースのロックと、読み取り専用モードのdb.locksおよびdb.revテーブルを含む、さまざまなファイルをロックする2つの編集コマンドを示しています。

オプション

-a

プロセスに関連付けられたすべての引数(例えば、edit file.csync -f //depot/src/...など)を表示します。

Perforceユーザ名は10文字に切り捨てられ、出力行の文字数は全部で80文字に制限されます。

-e

起動しているPerforceアプリケーション(既知の場合)、ホストIPアドレス、およびワークスペース名を含む環境情報を表示します。

-l

長い形式で、すべての引数が表示されます。ユーザ名やコマンドライン引数のリストは、切り捨てられません。

-L

ロックされたファイルの情報を表示します。情報が収集されるのは、p4 monitorコマンドが実行されている期間のみで、その後は継続しません。このオプションを使用するのに事前に必要な条件は、サーバーを実行するプラットフォームにより異なります。

  • Unixプラットフォームでは、次の値に続けてmonitor.lsof構成可能変数を設定する必要があります。

    path/lsof -F pln
    

    pathの値は、お使いのUnixのバージョンによって異なります。例えば、/usr/bin/lsofのようになります。

    環境によっては、monitor.lsofが機能しない場合があります。お使いのLinuxマシンがlsofに対応していない場合や、lsofのバージョンがPerforceサーバでは機能しない場合、あるいはセキュリティ上の理由で管理者がlsofコマンドの実行を許可しない場合などです。該当する場合でも、次に示す構成可能変数monitorを設定することで、ロックされたファイルについての情報を取得することができます。

  • Unixプラットフォームではない場合、またはmonitor.lsofが使用できない場合、monitor構成可能変数を5、10、25に設定します。

    5: 実行中のコマンドと休止中の接続の両方を監視する。このコマンドにより1秒を超える間ロックされたファイルの一覧を含む。

    10: 実行中のコマンドと休止中の接続の両方を監視する。このコマンドにより1秒を超える間ロックされたファイルの一覧を含む。ロック情報にロック待機時間を含む。

    25: 実行中のコマンドと休止中の接続の両方を監視する。このコマンドにより任意の期間ロックされたファイルの一覧を含む。ロック情報にロック待機時間を含む。

    ロックされたファイルについての情報について表示するためにmonitorレベルを使用すると、パフォーマンスに大きな影響を及ぼします。monitor.lsofオプションのほうが、Unixプラットフォームに適しています。

このオプションと共に-z tagオプションを使用することができます。その場合、p4 monitor showコマンドは、プロセスがロックされた各ファイルに対して1つずつlockinfoタグを返します。

-s status

ステータスがR(実行)、T(終了)、P(一時停止)、またはI(アイドル)のプロセスのみを表示します。

g-opts

“グローバルオプション”」を参照してください。

使用上の留意点

ファイル引数にリビジョン指定子を使えるか?

ファイル引数にリビジョン範囲を使えるか?

最低限必要なアクセスレベル

使用不可

使用不可

listsuper

  • サーバ側において早いタイミングでコマンドが終了すると、誤って実行中とリストされる場合があります。このようなプロセスは、スーパーユーザがp4 monitor clearで消去することができます。

  • 複数のプロセスを実行するコマンド(例えば、p4 submitなど)があります。例えば、dm_CommitSubmitまたはdm_SubmitChangeが、p4 submitコマンドの2つの独立したフェーズとしてp4 monitorの出力に表示されることがあります。

  • 休止プロセスの監視を有効にしている場合(構成可能変数monitorを2に設定)、休止プロセスはstatusRcommandIDLEで表示されます。

p4 monitor show

Perforceのプロセス情報(コマンドのみ)を表示します。list権限のみが必要です。

p4 monitor show -l

出力行の長さを制限せずに、コマンドと引数を表示します。super権限が必要です。

p4 monitor show -a

出力行ごとに80文字に制限し、コマンドと引数を表示します。super権限が必要です。

p4 monitor terminate 123

プロセス123を終了のためにマークするよう、Perforceサービスに通知します。super権限が必要です。

p4 monitor clear all

監視テーブルのすべてのエントリを消去します。super権限が必要です。

関連コマンド

監視を行うよう設定する。

p4 configure set monitor=1

監視を行わないよう設定する。

p4 configure set monitor=0