diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 408605b..cba17e6 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -21,9 +21,9 @@ jobs: Invoke-WebRequest -OutFile Update-AssemblyInfoVersionFiles.ps1 https://gist.githubusercontent.com/lowleveldesign/663de4e0d5a071f938e6f7c82d7ca9a0/raw/Update-AssemblyInfoVersionFiles.ps1 ./Update-AssemblyInfoVersionFiles.ps1 -# Lots of tests now require a GUI environment - I need to categorize them and allow only a small set here -# - run: dotnet test -c release -# working-directory: ./procgov-tests + # other tests require a desktop environment as they start cmd.exe and winver.exe processes + - run: dotnet test -c release --filter "FullyQualifiedName~ProcessGovernor.Tests.Code.ProgramTests.ParseArgs" + working-directory: ./procgov-tests - run: dotnet publish -c release -r win-x64 working-directory: ./procgov diff --git a/README.md b/README.md index 83ed661..6c134f8 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ This application allows you to set constraints on Windows processes. It uses [a - [Understanding procgov run modes](#understanding-procgov-run-modes) - [The command-line application mode \(default\)](#the-command-line-application-mode-default) - [The monitor mode](#the-monitor-mode) - - [The service mode](#the-service-mode) + - [The service mode \(beta\)](#the-service-mode-beta) - [Applying limits on processes](#applying-limits-on-processes) - [Setting limits on a single process](#setting-limits-on-a-single-process) - [Setting limits on multiple processes](#setting-limits-on-multiple-processes) @@ -53,7 +53,9 @@ Not much to say here :) It's the default mode that is activated when you launch When using procgov you may observe that it sometimes launches a second instance of itself (unless you use the --nomonitor switch). This second instance is a job monitor and you may recognize it by the --monitor switch in the command line args. It will stay alive until the last process in the monitored jobs exits. There should be at maximum one instance of a job monitor per Windows session. Its role is to monitor jobs created with procgov. The monitor should exit right after the termination of the last process in the monitored jobs. -### The service mode +### The service mode (beta) + +*This feature is in a beta phase. Please use it with caution and report any experienced errors.* If you use the **--install** switch to persist application settings, procgov will save the settings in the registry and will create a Windows service named ProcessGovernor. By default it will use the SYSTEM account and the `%ProgramFiles%\ProcessGovernor` folder as the service base path. You may configure this settings by using the **--service-path**, **--service-username**, and **--service-password** command-line switches. If you run the install command for another application, procgov will add new data to the registry but will reuse the existing service. The service should pick up the updated configuration after short time.