ProcessesWatchdog 2.0.0
A C# library to monitor the opening and closing of specific Windows processes
Install-Package ProcessesWatchdog -Version 2.0.0
dotnet add package ProcessesWatchdog --version 2.0.0
<PackageReference Include="ProcessesWatchdog" Version="2.0.0" />
paket add ProcessesWatchdog --version 2.0.0
ProcessesWatchdog
A C# library to monitor the opening and closing of specific Windows processes.
Get it on NuGET: https://www.nuget.org/packages/ProcessesWatchdog
Example (available under ProcessesWatchdogSample):
using System;
using System.Linq;
using ProcessesWatchdog;
namespace ProcessesWatchdogSample
{
public class Program
{
public static void Main(string[] args)
{
// Create multiple watch dogs for various processes
var watchedProcessNames = new[] {"Calculator", "mspaint", "Steam", "Spotify"};
var watchdogs = watchedProcessNames.Select(CreateLoggingWatchDog).ToArray();
foreach (var watchdog in watchdogs)
{
watchdog.Start();
}
Console.WriteLine("Press any key to stop the watch dogs");
Console.ReadKey();
Console.WriteLine("Stopping the watchdogs...");
foreach (var watchdog in watchdogs)
{
watchdog.Stop();
}
Console.WriteLine("Press any key to exit");
Console.ReadKey();
}
/// <summary>
/// Creates a watch dog that writes to console when the process is started or terminated
/// </summary>
private static ProcessWatchdog CreateLoggingWatchDog(string processName)
{
var watchdog = new ProcessWatchdog(processName);
watchdog.OnProcessOpened += (pid) => { Console.WriteLine($"{processName} is running with PID {pid}"); };
watchdog.OnProcessClosed += () => { Console.WriteLine($"{processName} is terminated"); };
return watchdog;
}
}
}
ProcessesWatchdog
A C# library to monitor the opening and closing of specific Windows processes.
Get it on NuGET: https://www.nuget.org/packages/ProcessesWatchdog
Example (available under ProcessesWatchdogSample):
using System;
using System.Linq;
using ProcessesWatchdog;
namespace ProcessesWatchdogSample
{
public class Program
{
public static void Main(string[] args)
{
// Create multiple watch dogs for various processes
var watchedProcessNames = new[] {"Calculator", "mspaint", "Steam", "Spotify"};
var watchdogs = watchedProcessNames.Select(CreateLoggingWatchDog).ToArray();
foreach (var watchdog in watchdogs)
{
watchdog.Start();
}
Console.WriteLine("Press any key to stop the watch dogs");
Console.ReadKey();
Console.WriteLine("Stopping the watchdogs...");
foreach (var watchdog in watchdogs)
{
watchdog.Stop();
}
Console.WriteLine("Press any key to exit");
Console.ReadKey();
}
/// <summary>
/// Creates a watch dog that writes to console when the process is started or terminated
/// </summary>
private static ProcessWatchdog CreateLoggingWatchDog(string processName)
{
var watchdog = new ProcessWatchdog(processName);
watchdog.OnProcessOpened += (pid) => { Console.WriteLine($"{processName} is running with PID {pid}"); };
watchdog.OnProcessClosed += () => { Console.WriteLine($"{processName} is terminated"); };
return watchdog;
}
}
}
Release Notes
OnProcessOpened now requires the callback to accept the PID (this breaks compatibility, hence the change in major version)
Dependencies
-
- System.Management (>= 4.0.0)
Used By
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.