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 performances 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
16 Aug 2021
Authors
Maintainers
Sources
spawn-v0.14.0.tbz
sha256=1a7b473dad236fad11573137dbb3f6d8d35340eb9d1612c178dc4459f6007d94 sha512=2f78b00d831bcb9343d5b28155110efd60597cd5097f2cee033360a34ceba8f32074aa5c7feba94edb3abf44453551a64156feaf4f64ddc3a69c48530921d89c
Dependencies
ocaml >= "4.02.3"
ppx_expect with-test
dune >= "2.5"
Reverse Dependencies
async_interactive >= "v0.14.0"
bun = "0.3.2"
core >= "v0.11.1" & < "v0.15.0"
memtrace_viewer < "v0.15.0"
shexp >= "v0.11.1"
spin >= "0.8.0"