Sysmon · Event 5
Sysmon Event 5: A process ended
A process exited. On its own it says almost nothing, but paired with the matching Event 1 it gives you how long a process lived — and very short-lived processes are a pattern worth noticing.
Also written as Sysmon 5Sysmon Event ID 5Process terminatedSysmon ProcessTerminate
- How oftenFires constantly
- Vendor calls itInformation
- LogMicrosoft-Windows-Sysmon/Operational
- SourceMicrosoft-Windows-Sysmon
What it means for you
For an analyst
Its value is timeline reconstruction. Joining Event 1 and Event 5 on ProcessGuid gives process lifetime, which is how you spot the sub-second processes that automated tooling produces and the long-lived ones that beacons produce.
What it looks like
Sanitised. Addresses come from the RFC 5737 documentation ranges.
Process terminated:
RuleName: -
UtcTime: 2026-08-28 09:14:12.884
ProcessGuid: {a1b2c3d4-0000-0000-0000-00000000abcd}
ProcessId: 7412
Image: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
User: CORP\jbrooks The fields that decide it
Everything else in the log line is context.
- Image
- The process that ended.
- ProcessGuid
- The stable identifier. Join on it to the Event 1 for this process to calculate lifetime.
- User
- The account it ran under.
- UtcTime
- When it exited.
Ordinary reasons this happens
Most of the time it is one of these.
- Every program closing, which is most of the volume.
- Short-lived utilities that run and exit immediately.
- Scheduled tasks completing.
- Build tools and scripts spawning many short-lived children.
What to do next
- Join on ProcessGuid to Event 1 to get the creation time and the command line.
- Calculate lifetime. Sub-second processes in bursts suggest scripted activity.
- During an investigation, use termination times to bound what a process could have been responsible for.
- Look for security processes terminating unexpectedly, which is a different question entirely.
Queries to run
let starts = Event | where Source == 'Microsoft-Windows-Sysmon' and EventID == 1 | project ProcessGuid, Start = TimeGenerated, Image, CommandLine;
let ends = Event | where Source == 'Microsoft-Windows-Sysmon' and EventID == 5 | project ProcessGuid, End = TimeGenerated;
starts | join kind=inner ends on ProcessGuid | extend Lifetime = End - Start | where Lifetime < 2s | project Start, Image, CommandLine, Lifetime Common questions
What is Sysmon Event 5 useful for?
Timeline reconstruction. On its own it just says a process ended, but joined to the matching Event 1 on ProcessGuid it gives you exactly how long the process ran. That bounds what it could have done, and it surfaces the sub-second processes that scripted activity produces in bursts.
Read next
- Usually comes before Sysmon Event 1: Process creation The creation of this process. Join on ProcessGuid to get its lifetime.
- Read alongside Sysmon Event 3: Network connection detected Network connections made during the process's life.
- Read alongside Sysmon Event 11: A file was created Files it wrote before exiting.
Vendor documentation
Last reviewed 28 August 2026