# Library Foundation

# Package Processes

## Overview

Classes: FileStreamRWLock, NamedEvent, NamedEventImpl, NamedMutex, NamedMutexImpl, PIDFile, Pipe, PipeIOS, PipeInputStream, PipeOutputStream, PipeStreamBuf, Process, ProcessHandle, ProcessHandleImpl, ProcessImpl, ProcessRunner, ScopedFStreamRWLock, ScopedFStreamReadRWLock, ScopedFStreamWriteRWLock, SharedMemory

## Classes

### class FileStreamRWLock

A reader writer lock on the file region allows multiple concurrent process-readers or one exclusive process-writer.

### class NamedEvent

An NamedEvent is a global synchronization object that allows one process or thread to signal an other process or thread that a certain event has happened.

### class NamedEventImpl

### class NamedMutex

A NamedMutex (mutual exclusion) is a global synchronization mechanism used to control access to a shared resource in a concurrent (multi process) scenario.

### class NamedMutexImpl

### class PIDFile

A utility class, creating process ID file on construction and deleting it on destruction.

### class Pipe

This class implements an anonymous pipe.

### class PipeIOS

The base class for PipeInputStream and PipeOutputStream.

### class PipeInputStream

An input stream for reading from a Pipe.

### class PipeOutputStream

An output stream for writing to a Pipe.

### class PipeStreamBuf

This is the streambuf class used for reading from and writing to a Pipe.

### class Process

This class provides methods for working with processes.

### class ProcessHandle

A handle for a process created with Process::launch().

### class ProcessHandleImpl

### class ProcessImpl

### class ProcessRunner

ProcessRunner is a wrapper class for `Poco::ProcessHandle.`

### class ScopedFStreamRWLock

A variant of ScopedLock for reader/writer locks.

### class ScopedFStreamReadRWLock

A variant of ScopedLock for reader locks.

### class ScopedFStreamWriteRWLock

A variant of ScopedLock for writer locks.

### class SharedMemory

Create and manage a shared memory object.