This project implements a C++ port program and Erlang application that gives light-weight Erlang processes fine-grain control over execution of OS processes. It makes possible for an Erlang process to start, stop an OS process, send POSIX signals, know process IDs of the started OS process, set up a monitor and/or link to it. This application provides better control over OS processes than built-in erlang:open_port/2 command with a {spawn, Command} option, and performs proper OS child process cleanup when the emulator exits. See doc/html/index.html for more details.