aboutsummaryrefslogtreecommitdiff
path: root/src/zencore/process.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Add `zen ui` command (#779)Stefan Boberg2026-02-241-0/+226
| | | | | Allows user to automate launching of zenserver dashboard, including when multiple instances are running. If multiple instances are running you can open all dashboards with `--all`, and also using the in-terminal chooser which also allows you to open a specific instance. Also includes a fix to `zen exec` when using offset/stride/limit
* consul package and basic client added (#716)Stefan Boberg2026-01-191-2/+140
| | | | | | | | * this adds a consul package which can be used to fetch a consul binary * it also adds a `ConsulProcess` helper which can be used to spawn and manage a consul service instance * zencore dependencies brought across: - `except_fmt.h` for easer generation of formatted exception messages - `process.h/cpp` changes (adds `Kill` operation and process group support on Windows) - `string.h` changes to allow generic use of `WideToUtf8()`
* Use correct sysctl headers on MacLiam Mitchell2025-08-211-1/+1
|
* Add missing headers to Mac process.cppLiam Mitchell2025-08-211-0/+2
|
* Merge branch 'main' into de/zen-service-commandLiam Mitchell2025-07-291-160/+48
|\
| * pause, resume and abort running builds cmd (#421)Dan Engelbrecht2025-06-051-17/+47
| | | | | | | | | | - Feature: `zen builds pause`, `zen builds resume` and `zen builds abort` commands to control a running `zen builds` command - `--process-id` the process id to control, if omitted it tries to find a running process using the same executable as itself - Improvement: Process report now indicates if it is pausing or aborting
| * add cxxopts overload for parsing file paths from command line (#362)Dan Engelbrecht2025-04-221-142/+0
| |
| * long filename support (#330)Dan Engelbrecht2025-03-311-1/+1
| | | | | | - Bugfix: Long file paths now works correctly on Windows
* | Merge remote-tracking branch 'origin/main' into de/zen-service-commandDan Engelbrecht2025-03-141-0/+142
|\|
| * fix quoted command lines arguments (#306)Dan Engelbrecht2025-03-121-0/+142
| | | | | | Handling of quotes and quotes with leading backslash for command line parsing - UE-231677
* | Merge remote-tracking branch 'origin/de/zen-service-command' into ↵Dan Engelbrecht2025-03-141-4/+4
|\ \ | | | | | | | | | de/zen-service-command
| * | Implementation of service commands for Linux.Liam Mitchell2025-02-271-3/+4
| | |
| * | Linux compilation fixesLiam Mitchell2025-02-191-1/+0
| | |
* | | Merge remote-tracking branch 'origin/main' into de/zen-service-commandDan Engelbrecht2025-01-231-1/+1
|\ \ \ | |/ / |/| / | |/
| * Add multithreading directory scanning in core/filesystem (#277)Dan Engelbrecht2025-01-221-1/+1
| | | | | | | | | | | | add DirectoryContent::IncludeFileSizes add DirectoryContent::IncludeAttributes add multithreaded GetDirectoryContent use multithreaded GetDirectoryContent in workspace folder scanning
* | clang formatDan Engelbrecht2025-01-151-1/+1
| |
* | systemd unit file, incompleteDan Engelbrecht2025-01-151-0/+4
| |
* | if we can't open a process handle, assume it is running under other user idDan Engelbrecht2025-01-101-0/+5
| |
* | add ServiceLevel for service processes: User, AllUsers and ServiceDan Engelbrecht2025-01-081-0/+8
|/
* fixed off-by-one in GetPidStatus (Linux) which might cause spurious errors ↵Stefan Boberg2024-11-221-2/+2
| | | | (#226)
* zenserver process launch/termination improvements (#138)Dan Engelbrecht2024-08-271-36/+101
| | | | | | * zenserver process launch/termination improvements * fix GetPidStatus to return error code on Linux * fix linux FindProcess() * cleanup IsZombieProcess
* capture zenserver output on error (#51)Dan Engelbrecht2024-04-181-3/+8
| | | | * capture spawned server output and output on launch error * fix logging and launch validation in tests
* improved lock file handling (#50)Dan Engelbrecht2024-04-181-32/+73
| | | | | | | | | | | | - Feature: `zen down` - --`data-dir` to specify a data directory to deduce which zen instance to bring down - Feature: `zen attach` - --`data-dir` to specify a data directory to deduce which zen instance to attach to222 - Feature: `zen status` - --`port` filter running zen instances based on port - --`data-dir` filter running zen instances based on information in the data directory - Improvement: Trying to load a compact binary object from an empty file no longer causes access violation
* zen startup hardening (#49)Dan Engelbrecht2024-04-171-16/+241
| | | | | | | | | | | | | - Feature: `zen up` command improvements - --`port` allows you to specify a base port when starting an instance - --`base-dir` allows you to specify a base directory for the zenserver executable if it is not located next to the zen.exe executable - Feature: `zen down` - --`port` allows you to specify a base port when shutting down an instance - --`base-dir` allows you to specify a base directory for the zenserver executable if it is not located next to the zen.exe executable - --`force` if regular shutdown fails it tries to find a running zenserver.exe process and terminate it - If it fails to attach to the running server it now waits for it to exit when setting the RequestExit shared memory flag - Improvement: zenserver now checks the RequestExit flag in the shared memory and exist gracefully if it is set - Improvement: When adding a sponsor process to a running zenserver instance, we wait for it to be picked up from the shared memory section to determine success/fail
* harden attach sponsor process (#14)Dan Engelbrecht2024-03-211-7/+17
| | | | | - Improvement: Delay exiting due to no sponsor processes by one second to handle race conditions - Improvement: Safer IsProcessRunning check - Improvement: make sure we can RequestApplicationExit safely from any thread
* improved process monitoring behaviour with invalid pids (#16)Stefan Boberg2024-03-211-11/+30
|
* zen run command (#552)Stefan Boberg2023-11-211-2/+59
| | | | | | | | | | initial version -- this is primarily intended to be used for running stress tests and/or benchmarks example usage: `zen run -n 10 -- zenserver-test` `zen run -n 10 -- zenserver-test --ts=core.assert` run zenserver-test 10 times (testing only the `core.assert` test suite) `zen run --time 600 --basepath=d:\test_dir\test1 -- zenserver-test` keeps spawning new instances for 10 minutes (600 seconds)
* moved process handling code into separate h/cpp (#555)Stefan Boberg2023-11-201-0/+708