![]() |
Sunshine latest
Self-hosted game stream host for Moonlight.
|
#include <src/process.h>
Public Attributes | |
bool | auto_detach |
std::string | cmd |
std::vector< std::string > | detached |
bool | elevated |
std::chrono::seconds | exit_timeout |
std::string | id |
std::string | image_path |
std::string | name |
std::string | output |
std::vector< cmd_t > | prep_cmds |
bool | wait_all |
std::string | working_dir |
pre_cmds – guaranteed to be executed unless any of the commands fail. detached – commands detached from Sunshine cmd – Runs indefinitely until: No session is running and a different set of commands it to be executed Command exits working_dir – the process working directory. This is required for some games to run properly. cmd_output – empty – The output of the commands are appended to the output of sunshine "null" – The output of the commands are discarded filename – The output of the commands are appended to filename
std::vector<std::string> proc::ctx_t::detached |
Some applications, such as Steam, either exit quickly, or keep running indefinitely.
Apps that launch normal child processes and terminate will be handled by the process grouping logic (wait_all). However, apps that launch child processes indirectly or into another process group (such as UWP apps) can only be handled by the auto-detach heuristic which catches processes that exit 0 very quickly, but we won't have proper process tracking for those.
For cases where users just want to kick off a background process and never manage the lifetime of that process, they can use detached commands for that.