Better Processes's icon

Better Processes 0.5.0 Tools 4.1 Community

Submitted by user GreenFox; MPL-2.0; 2023-11-12

OS.execute() lets you get the output, but it blocks the thread.
OS.create_process() kicks off a process in the background, but drops the output.

Better Processes lets you interactively create a background process.

It's built in Rust. Compiles to GDExtention. You won't have to worry about that.

Add a ProcessNode. Connect the stdout/stderr signals. Set the cmd,args, start_on_ready (or run "start" as needed) if you need it. If the process is still running when this node is deleted, it will close the child process.

Or create a Process object and call `start(cmd,args)`. You'll have to explicitly call `read_stdout()` and `read_stderr`. However the advantage is that when the last reference goes out of scope, it closes the child process.

Note: Due to GodotRust's current strictness, you must use the correct type args, no implicit typing. For example:
`myProcess.start("ping",[""] as PackedStringArray)`
The `as PackedStringArray` is important here.

View files Download Submit an issue Recent Edits