Wednesday 4 June 2014

Process Explorer に関する自分用メモ φ(..)

Windows8とは違い、Windows7のタスクマネージャ(taskmgr.exe)のグラフ表示は「ネットワーク」と「CPU&メモリ使用率」は同時表示出来ません。しかしタスクマネージャーはウインドウを広げると表示可能期間が広がり、横幅1366pxのディスプレイなら最大50分間のグラフが見られるのが利点です。(更新頻度:低の場合)

一方、リソースモニタ(resmon.exe)ならWindows7でもネットワーク使用率とCPU使用率を同時にグラフ表示できますが、表示範囲が1分だけです。グラフの表示領域を広げても目盛りが間延びするだけで表示時間は広がらないのです。しかもキーボードのメディアキー(再生/停止キーなど)が効かなくなる問題もあり。

そこで・・・

■Process Explorerがオススメ(以下PE)

表示可能時間の広さと各種クラフの同時表示を両立させたソフトです。

ネットワーク使用率を含めて表示するためには、Fileメニューから"Show Details for All Processes"を実行する必要があります。実行するとUACが出てPEが再起動され、Network Activity も扱えるようになります。

でも実は管理者権限でPEを起動すれば最初から表示可能になります。
この辺が分かりにくいですね。そもそも"Show Details for All Processes"でネットワークが表示可能になるってのも分かりにくい。マニュアルにも書いてないし。私が英語読めてないだけか?

■タスクバーにピン留めする場合の注意。
PEのexe本体はprocexp.exeですが、64bit版Windows環境で実行するとprocexp.exeが動的に64ビット用exe(procexp64.exe)を生成して、これがプログラム本体として動きます。
procexp64.exeが作られる場所は下記です。
C:\Users\AXIO\AppData\Local\Temp\
で、PE終了時にこのexeは自動的に消されます。

なので起動状態でタスクバーにピン止めするとこのprocexp64.exeが指定されてしまい次回起動時に「見つかりません」エラーになってしまいます。

ゆえにピン留めは元のprocexp.exeを直接指定するか、起動中にTempフォルダのprocexp64.exeを元のフォルダにコピーしておいてから指定しましょう。

■Run At Logonをオンにすると
タスクスケジューラのルートに「Process Explorer-マシン名-ユーザ名」というタスクが出来ます。

★レジストリの該当箇所
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree\Process Explorer-マシン名-ユーザ名
Id={英数字の羅列}

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tasks\{英数字の羅列}
Path=\Process Explorer-マシン名-ユーザ名

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Logon\{英数字の羅列}

★実行するコマンドラインなどタスクの詳細は下記ファイルに記述
C:\Windows\System32\Tasks\Process Explorer-マシン名-ユーザ名

作成されるタスクの実行時権限はRun At Logonをオンにした時のPEの権限と同じに設定されるようです。

コマンドライン末尾の -t はタスクトレイに格納状態で起動という指示らしいです。(?)

なお、さきのピン留め問題を回避したり、自分好みのセッティングをしたいので私は自分でタスクを作りました。

No comments:

Post a Comment