Vestigium.Helpers.Processes
1.0.0
dotnet add package Vestigium.Helpers.Processes --version 1.0.0
NuGet\Install-Package Vestigium.Helpers.Processes -Version 1.0.0
<PackageReference Include="Vestigium.Helpers.Processes" Version="1.0.0" />
<PackageVersion Include="Vestigium.Helpers.Processes" Version="1.0.0" />
<PackageReference Include="Vestigium.Helpers.Processes" />
paket add Vestigium.Helpers.Processes --version 1.0.0
#r "nuget: Vestigium.Helpers.Processes, 1.0.0"
#:package Vestigium.Helpers.Processes@1.0.0
#addin nuget:?package=Vestigium.Helpers.Processes&version=1.0.0
#tool nuget:?package=Vestigium.Helpers.Processes&version=1.0.0
Vestigium.Helpers.Processes
Windows process table: list, get, search, watch, lifetime, campaigns. Kql queries bind through Vestigium.Helpers.Kql — this package owns the rows.
TFM is net10.0-windows.
Identity
| Field | Value |
|---|---|
| Package | Vestigium.Helpers.Processes 1.0.0 |
| TFM | net10.0-windows |
| APPID | Processes (ProcessesCatalog.AppId) |
| EVENTID | Reserved 15000–15499 |
| Depends on | Json, Kql, System.Diagnostics.PerformanceCounter 9.0.8, Vestigium.Logging |
| License | MIT |
| Contract | 002 -- Requirements Document |
Consume
<PackageReference Include="Vestigium.Helpers.Processes" Version="1.0.0" />
using Vestigium.Helpers.Processes;
var rows = ProcessHelper.List();
var one = ProcessHelper.Get(pid);
var hits = ProcessHelper.Search("vestigium", ProcessSearchMode.Contains);
var kql = ProcessHelper.Search("(PID == 10 || Name LIKE '%edge%') && GPU.Usage GT 20");
Surface
| Call | Returns | Notes |
|---|---|---|
List / Get / TryGet |
rows | Missing PID is null / false. |
Search(term, mode) |
rows | StartsWith / EndsWith / Contains. Cap 1..4096. |
Search(query) |
rows | Kql pack Process. |
GetTree / GetChildren / GetThreads |
tree / rows | |
Watch(pid, …) / Watch(query, …) |
watcher | Interval 250 ms–60 s. |
Start / StartAs |
start result | Never log the password. |
Kill / KillTree / KillSearch |
kill result | Skips denylist, PPL, Protected. |
CreateCampaign |
campaign | In-process only. No schtasks. |
ProcessesCatalog.Register(cfg) |
void | Host-only, during VestigiumLogger.Initialize. |
Rules that do not move
- Windows only. This is not a Linux process table.
- Missing PID is not a fake row.
- Confirm does not override denylist / PPL / Protected.
- Never log command lines as secrets, passwords, or per-tick watcher samples.
- Campaigns need the host process to stay running.
- The library never calls
VestigiumLogger.Initialize.
Logging
VestigiumLogger.Initialize(cfg =>
{
cfg.AppId = "PingIQ"; // host APPID, not Processes
cfg.LogDirectory = logDir;
ProcessesCatalog.Register(cfg);
});
Writes are no-ops until the host initializes. JSONL lands at %ProgramData%\Vestigium\Logs\{host-APPID}\.
Named events live in EventCatalog/processes.json.
Related
Filter dialect: Vestigium.Helpers.Kql. Campaign recipes: Vestigium.Helpers.Json.
Long-form documents live in Vestigium.Documentation / Helpers / Processes. Folders, not files — current revision sits inside the folder.
| Area | GitHub |
|---|---|
| 000 -- Archived | folder |
| 001 -- Implementation Plan | folder |
| 002 -- Requirements Document | folder |
| 003 -- Design Document | folder |
| 004 -- Developers Guide | folder |
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0-windows7.0 is compatible. |
-
net10.0-windows7.0
- System.Diagnostics.PerformanceCounter (>= 10.0.12)
- Vestigium.Helpers.Json (>= 1.0.1)
- Vestigium.Helpers.Kql (>= 1.0.4)
- Vestigium.Logging (>= 1.7.1)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Vestigium.Helpers.Processes:
| Package | Downloads |
|---|---|
|
Vestigium.Helpers.Services
Windows Service Control Manager: list, search, control, logon, recovery. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0 | 81 | 10/16/2026 |