This is a fairly high-level library based on the Python 3 subprocess library.  I think it is better to have this library or something like it rather than a low-level library, because safe implementation is tricky.  As an example, SIGINT must be ignored while waiting for a child process, otherwise both the child and the parent will receive the signal.  This is not something that Scheme programmers should need to know about.