Windowsでプロセスの開始時刻を取得するときは、コマンドプロンプトでwmicを使う。
> wmic process get name,creationdate
CreationDate Name
20170412165424.478007+540 System Idle Process
20170412165424.478007+540 System
20170412165426.225210+540 smss.exe
20170412165428.565214+540 csrss.exe
20170412165428.861614+540 wininit.exe
20170412165428.861614+540 csrss.exe
20170412165428.970814+540 services.exe
20170412165429.033215+540 lsass.exe
20170412165429.033215+540 lsm.exe
20170412165429.142415+540 svchost.exe
20170412165429.204815+540 winlogon.exe
20170412165429.251615+540 svchost.exe
20170412165429.267215+540 svchost.exe
...
特定のプロセスについて取得するにはwhere句を使う。
> wmic process where 'name = "winlogon.exe"' get creationdate
CreationDate
20170412165429.204815+540
wmic process getで取得できる他の値は/?オプションで取得できる。
> wmic process get /?
プロパティにより操作が取得されます。
使用法:
GET [<property list>] [<get switches>]
注意: <property list> ::= <property name> | <property name>, <proper
次のプロパティが利用可能です:
プロパティ 種類 操作
======== ==== =====
CSName N/A N/A
CommandLine N/A N/A
Description N/A N/A
ExecutablePath N/A N/A
ExecutionState N/A N/A
Handle N/A N/A
HandleCount N/A N/A
InstallDate N/A N/A
KernelModeTime N/A N/A
MaximumWorkingSetSize N/A N/A
MinimumWorkingSetSize N/A N/A
Name N/A N/A
OSName N/A N/A
OtherOperationCount N/A N/A
OtherTransferCount N/A N/A
PageFaults N/A N/A
PageFileUsage N/A N/A
ParentProcessId N/A N/A
PeakPageFileUsage N/A N/A
PeakVirtualSize N/A N/A
PeakWorkingSetSize N/A N/A
Priority N/A N/A
PrivatePageCount N/A N/A
ProcessId N/A N/A
QuotaNonPagedPoolUsage N/A N/A
QuotaPagedPoolUsage N/A N/A
QuotaPeakNonPagedPoolUsage N/A N/A
QuotaPeakPagedPoolUsage N/A N/A
ReadOperationCount N/A N/A
ReadTransferCount N/A N/A
SessionId N/A N/A
Status N/A N/A
TerminationDate N/A N/A
ThreadCount N/A N/A
UserModeTime N/A N/A
VirtualSize N/A N/A
WindowsVersion N/A N/A
WorkingSetSize N/A N/A
WriteOperationCount N/A N/A
WriteTransferCount N/A N/A
CreationDateはここに載ってないけど取得できる。
参考
WindowsでWMIとwmicコマンドを使ってシステムを管理する(基本編)
[WMI Class] Win32_Process クラス - WMI Library