p4d子プロセスを終了する際の注意点
UNIXベースのシステム上において、p4d子プロセスをオペレーティングシステムの"kill"コマンドで強制終了しないようにしてください。
メタデータ更新中にp4d子プロセスが中断されると、データが破損する可能性があります。
注意
データベースの破損が発生した場合、データベースを正常なチェックポイントとジャーナルファイルから復元する必要があります。
参照ページ:チェックポイントとジャーナルの関係性
p4d子プロセスを強制終了したい場合は、"p4 monitor terminate"を使用して強制終了します。
このコマンドを使用するためには、以下の条件をすべて満たす必要があります。
・Perforce Helix Coreのバージョンが2016.1以上
・構成可能変数"monitor"に[ 1 ]以上の値を設定する
・構成可能変数"db.monitor.interval"に[ 0 ]以外の値を設定する
※"db.monitor.interval"は、Helix Coreサーバー上で実行されているp4dプロセスのリストを更新する
までに待機する秒数を設定する構成可能変数です。
手順
構成可能変数の設定方法や、完了しないプロセスを終了させる手順については以下の通りです。
1.プロセス情報を確認します。(コマンド実行user:super)
p4 monitor show -ale
-a :プロセスに使用されたすべての引数を表示
-l :長い形式で引数を表示
-e :環境情報の表示
4773 p4/2019.1/NTX64/1818849 192.168.XXX.XX R bruno bruno_ws_3974 00:00:17 client -i
4778 p4/2019.1/NTX64/1818849 192.168.XXX.XX R super bruno_ws_3974 00:00:00 monitor show -ale
赤:プロセスID [ pid ] 橙:Status [ Rは実行中 ] 青:実行user
紫:経過時間 緑:コマンド
2.プロセスIDを指定してプロセスを終了させます。
p4 monitor terminate 4773
** process '4773' marked for termination **
3.プロセスが終了されたか確認します。
終了には時間がかかる場合があるため、何度か繰り返し実行して確認します。
p4 monitor show -ale
4773 p4/2019.1/NTX64/1818849 192.168.XXX.XX T bruno bruno_ws_3974 00:01:05 client -i
4794 p4/2019.1/NTX64/1818849 192.168.XXX.XX R super bruno_ws_3974 00:00:00 monitor show -ale
橙:Status [ T は終了 ]
4796 p4/2019.1/NTX64/1818849 192.168.XXX.XX R super bruno_ws_3974 00:00:00 monitor show -ale