spawn

Spawning sub-processes
Description

Spawn is a small library exposing only one functionality: spawning sub-process.

It has three main goals:

  1. provide missing features of Unix.create_process such as providing a working directory

  2. provide better errors when a system call fails in the sub-process. For instance if a command is not found, you get a proper [Unix.Unix_error] exception

  3. improve performance by using vfork when available. It is often claimed that nowadays fork is as fast as vfork, however in practice fork takes time proportional to the process memory while vfork is constant time. In application using a lot of memory, vfork can be thousands of times faster than fork.

Install
Published
19 Apr 2022
Authors
Maintainers
Sources
v0.15.1.tar.gz
sha256=9afdee314fab6c3fcd689ab6eb5608d6b78078e6dede3953a47debde06c19d50 sha512=efdb31d5ec5ea36d0bc80224d4ee04e46ce3428d1662870e6cebece92bc313d6eebee378802c0c059dd6e0cafea515308c31b7dfaf04a098eb4566583c1e9ed4
Dependencies
odoc with-doc
ocaml >= "4.05"
ppx_expect with-test
dune >= "2.8"
Reverse Dependencies
async_interactive >= "v0.14.0"
bun = "0.3.2"
core >= "v0.11.1" & < "v0.15.0"
core_unix >= "v0.15.0"
feather >= "0.2.0"
shexp >= "v0.11.1"
spin >= "0.8.0"