(chibi process)

(process-running? pid . o)

(execute cmd args)

(execute-returned cmd)

(system cmd . args)

(system? cmd)

(call-with-process-io command proc)

(process->bytevector command)

(process->string command)

(process->sexp command)

(process->output+error+status command)

(process->output+error command)

(process->string-list command)

An interface to spawning processes and sending and receiving signals between processes.The siginfo_t struct is used to return info about the status, process and user info of a called signal handler.

int: signal/hang-up

int: signal/interrupt

int: signal/quit

int: signal/illegal

int: signal/abort

int: signal/fpe

int: signal/kill

int: signal/segv

int: signal/pipe

int: signal/alarm

int: signal/term

int: signal/user1

int: signal/user2

int: signal/child

int: signal/continue

int: signal/stop

int: signal/tty-stop

int: signal/tty-input

int: signal/tty-output

(set-signal-action! signal handler)

Sets the signal handler for signal to handler and returns the old handler. handler should be a procedure of one argument, the signal number, the value #t for the default signal handler, or #f for no handler. Signal handlers are queued run in a dedicated thread after the system handler has returned.

(signal-set? obj)

The sigset_t struct represents a set of signals for masking.

(make-signal-set sigset_t)

(signal-set-fill! sigset_t)

(signal-set-add! sigset_t int)

(signal-set-delete! sigset_t int)

(signal-set-contains? sigset_t int)

(signal-mask-block! sigset_t sigset_t)

(signal-mask-unblock! sigset_t sigset_t)

(signal-mask-set! sigset_t sigset_t)

(current-signal-mask sigset_t sigset_t)

(alarm unsigned-int)

Send a signal/alarm signal to the current process after unsigned-int seconds have elapsed.

(sleep unsigned-int)

Suspend the current process for unsigned-int seconds. See SRFI-18 thread-sleep! for a light-weight sleep for only the current thread.


Fork the current process. Returns 0 for the newly created process, and the process id of the new process for the parent. If multiple threads are active, they are forked as well. Use fork to also kill all other threads.


int: wait/no-hang

(waitpid pid options)

Wait on the process pid, or any child process if pid is -1. options should be 0, or wait/no-hang to return immediately if no processes have reported status. Returns a list whose first element is the actual pid reporting, and the second element is the integer status.

(kill int int)

Send a signal to the given process.Exits the current process immediately. Finalizers are not run.Replace the current process with the given command. Finalizers are not run.


Returns the current process id.


Returns the parent process id.