Windowsのサービスとサーバ
このマニュアルでは、Perforceサービスおよびp4d
という用語は、WindowsサーバプロセスとWindowsサービスプロセスを明確に区別する場合を除き、いずれも同義で使用されており、ともに「Perforceアプリケーションにバージョン化サービスを提供するプロセス」を意味します。
Perforceバージョン化サービス(p4d
)は、ブート時に実行されるWindowsサービス(p4s.exe
)プロセスか、コマンドプロンプトから手動で起動するWindowsサーバ(p4d.exe
)プロセスのいずれかとして起動するように構成できます。Windowsサーバとしてタスクを実行するには、ユーザのログインが必要です。ユーザアカウントにログインしないと、ユーザのstartup
フォルダのショートカットを実行することができません。
Perforceサービス(p4s.exe
)とPerforceサーバ(p4d.exe
)の2つの実行ファイルはお互いのコピーです。ファイル名が異なるだけで、この2つは全く同じものです。これらの実行ファイルを起動すると、起動時に取得された名前の最初の3文字(p4s
またはp4d
)を使用して、実行ファイルの動作が決定されます。以下に例を示します。
- p4sversioncontrol.exeはサービスを呼び出します
- p4dversioncontrol.exeはサーバを呼び出します
デフォルトでは、PerforceインストーラはPerforceをWindowsサービスとして構成します。
Windows上では、ディレクトリの権限はデフォルトで安全に保護されています。PerforceがWindowsサーバとして動作する場合、サーバルートへアクセスできるのは、コマンドプロンプトからp4d.exe
を起動したユーザのみに限られます。Perforceがサービスとしてインストールされている場合、ファイルの所有者はLocalSystem
であり、Administrator
権限を有する場合にのみファイルにアクセスできます。
Perforceサービスを通常のユーザアカウントで実行できるようにするには、そのユーザがレジストリキーの読み取り/書き込みアクセス権と、P4ROOT
下のディレクトリ構造へのアクセス権を持っていることを確認してください。
ナレッジベースの記事「Windowsサービスを実行しているユーザアカウントを変更する」を参照してください。