ZZ allows starting a number of executables with one shell command, defining an arbitrary network of data channels between them. ZZ data channels are based on shared memory, and thus, unlike pipes, require no copying at all between the producer and the consumer processes.
ZZ consists of two parts; an executable called zz which creates channels and launches processes, and the C library libzz which adds ZZ support to applications. The ZZ package also includes general-purpose tools, such as zzcast which broadcasts to all peers, and zzlisten which is a debugging tool, logging all traffic.