Skills

Process API Net11

Provides guidance on the new System.Diagnostics.Process APIs introduced in .NET 11...

Install

npx skills add managedcode/dotnet-skills --skill process-api-net11 -g -a claude-code -y
Category
Engineering
Updated
6d ago
License
MIT
Context cost
Mediumabout 2,787 tokens
Runs scripts
No, instructions only

What it does

Provides guidance on the new System.Diagnostics.Process APIs introduced in .NET 11: Process.Run, Process.RunAndCaptureText, Process.StartAndForget, Process.ReadAllText/Bytes/Lines, KillOnParentExit, InheritedHandles, and StartDetached. USE FOR: starting, orchestrating, or capturing output from external processes in applications targeting net11.0 or later. DO NOT USE FOR: applications targeting .NET 10 or earlier, or basic pre-.NET 11 Process.Start usage without new APIs.

Process API Improvements, .NET 11

New APIs added to System.Diagnostics.Process in .NET 11 simplify process management, eliminate boilerplate, and prevent common deadlock patterns when capturing output in .NET 11 or later applications.

When to Use

  • Running or orchestrating external processes in a .NET 11 (or later) project.
  • Needing to start a process, wait for it to exit, and capture its output/error streams without risking deadlocks (Process.RunAndCaptureText[Async]).
  • Wanting to ensure child processes are automatically terminated when the parent process exits (KillOnParentExit).
  • Requiring lightweight, low-overhead process creation via SafeProcessHandle on supported platforms.
  • Requiring fine-grained control over handle inheritance (InheritedHandles) or starting detached processes (StartDetached).

When Not to Use

  • The project targets .NET 10 or earlier, these APIs are not available before .NET 11.
  • The default Process.Start() is sufficient and does not require output capturing or advanced lifecycle rules.

Target Framework

<TargetFramework>net11.0</TargetFramework>

New APIs

Types

Before using the new convenience methods, note the following types. Use the framework types directly:

TypeKindRead-only properties
ProcessExitStatusSealed classint ExitCode, bool Canceled, PosixSignal? Signal
ProcessTextOutputSealed classProcessExitStatus ExitStatus, string StandardOutput, string StandardError, int ProcessId
ProcessOutputLineReadonly structstring Content, bool StandardError
Read the whole SKILL.md on GitHub

More in Engineering