ページの先頭行へ戻る
ETERNUS SF AdvancedCopy Manager 15.2 運用ガイド
ETERNUS

1.8.6 ボリュームを使用しているプロセスの調査方法

本項では、「handle.exe -a」の出力結果からボリュームを使用しているプロセスを調査する方法について説明します。

「openfiles.exe /query /v」の出力結果を使った調査も、同様の手順で可能です。

handle.exe -aの出力フォーマット

handle v3.42の場合、「handle -a」は以下のフォーマットで情報を出力します(handle.exeがhandle v3.42 でない場合は、出力フォーマットが以下と異なる場合があります)。

handle.exe -aの出力例

Handle v3.42
Copyright (C) 1997-2008 Mark Russinovich
Sysinternals - www.sysinternals.com

------------------------------------------------------------------------------
System pid: 4 NT AUTHORITY\SYSTEM
    4: Process       System(4)
    8: Thread        System(4): 12
                :
                :
 1FF8: File  (---)   \Device\Tcp
------------------------------------------------------------------------------
smss.exe pid: 1424 NT AUTHORITY\SYSTEM
    4: KeyedEvent    \KernelObjects\CritSecOutOfMemoryEvent
    8: Event         
                :
                :
   70: Port          
------------------------------------------------------------------------------
csrss.exe pid: 1840 NT AUTHORITY\SYSTEM
    4: Key           HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options
    8: KeyedEvent    \KernelObjects\CritSecOutOfMemoryEvent
                :
                :
  A28: Thread        lsass.exe(840): 4084
------------------------------------------------------------------------------
winlogon.exe pid: 1976 NT AUTHORITY\SYSTEM
    4: Key           HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options
    8: KeyedEvent    \KernelObjects\CritSecOutOfMemoryEvent
                :
                :
  86C: Key           HKCR
------------------------------------------------------------------------------
services.exe pid: 812 NT AUTHORITY\SYSTEM
    4: KeyedEvent    \KernelObjects\CritSecOutOfMemoryEvent
    8: Event         
                :
                :

handle.exe -aの出力結果から調査方法

以下の手順でプロセスを特定してください。

  1. 「handle.exe -a」の保存先ファイルを、notepadなどのテキストエディタで開きます。

  2. エラー発生ボリュームのドライブ文字またはマウントポイントを含む行をすべて検索します。

  3. 手順2で検出された各行について、検出された行からカーソルを上方に移動(スクロール)させて、原因となるプロセス名とプロセスIDを特定します。

handle.exe -aの出力結果を文字列"X:"で検索

------------------------------------------------------------------------------
svchost.exe pid: 1884 NT AUTHORITY\SYSTEM                    ←"X:"を使用しているプロセス
    4: KeyedEvent    \KernelObjects\CritSecOutOfMemoryEvent
    8: Event         
                 :
                 :
  EA0: File  (RWD)   X:\$Extend\$ObjId                          ←文字列"X:"を含む行
                 :
                 :

さらに、ボリュームを使用しているプロセスがサービスである場合、「tasklist /svc」の出力結果を参照することで、そのプロセスを使用しているサービスを調査できます。

tasklist.exe /svcの出力結果をプロセス名:svchost.exe、プロセスID:1884で検索

イメージ名                     PID サービス
========================= ======== ============================================
System Idle Process              0 N/A
System                           4 N/A
smss.exe                      1424 N/A
csrss.exe                     1840 N/A
winlogon.exe                  1976 N/A
services.exe                   812 Eventlog, PlugPlay
lsass.exe                      840 HTTPFilter, kdc, Netlogon, NtLmSsp,
                                   PolicyAgent, ProtectedStorage, SamSs
svchost.exe                   1132 DcomLaunch
svchost.exe                   1692 RpcSs
svchost.exe                   1736 Dhcp, Dnscache
svchost.exe                   1808 Alerter, LmHosts, W32Time
svchost.exe                   1884 AeLookupSvc, BITS, Browser, CryptSvc,
                                   dmserver, EventSystem, helpsvc,
                                   lanmanserver, lanmanworkstation, Netman,
                                   Nla, NtmsSvc, Schedule, seclogon, SENS,
                                   ShellHWDetection, TrkWks, winmgmt,
                                   wuauserv, WZCSVC
ccSetMgr.exe                  2036 ccSetMgr
                     :
                     :

この例のように、1つのプロセスが複数のサービスから使用されていることがあります。その場合は、サービスを1つずつ停止させて、原因となるサービスを特定してください(この例では、サービス名:TrkWksのサービス、すなわち、Distributed Link Tracking Clientサービスが"X:\$Extend\$ObjId"を使用しています)。