A detailed breakdown of named pipes in Murex
Wikipedia describes a named pipe as the following:
In computing, a named pipe (also known as a FIFO for its behavior) is an extension to the traditional pipe concept on Unix and Unix-like systems, and is one of the methods of inter-process communication (IPC). The concept is also found in OS/2 and Microsoft Windows, although the semantics differ substantially. A traditional pipe is “unnamed” and lasts only as long as the process. A named pipe, however, can last as long as the system is up, beyond the life of the process. It can be deleted if no longer used. Usually a named pipe appears as a file, and generally processes attach to it for IPC.
Where Murex differs from standard Linux/UNIX is that named pipes are not special files but rather an object or construct within the shell runtime. This allows for more user friendly tooling and syntactic sugar to implemented around it while largely still having the same functionality as a more traditional file based named pipe.
In Murex, named pipes are described in code as a value inside angle brackets. There are four named pipes pre-configured: <in>
(stdin), <out>
(stdout), <err>
(stderr), and <null>
(/dev/null equivalent).
You can call a named pipe as either a method, function, or parameter.
As a method:
<in> -> command parameter1 parameter2 parameter3
As a function:
command parameter1 parameter2 parameter3 -> <out>
As a parameter:
command <out> <!err> parameter1 parameter2 parameter3
<pipe>
): Reads from a Murex named pipe<stdin>
): Read the stdin belonging to the parent code blocktest
): Murex’s test framework - define tests, run tests and debug shell scriptsThis document was generated from gen/user-guide/named-pipes_doc.yaml.
This site's content is rebuilt automatically from murex's source code after each merge to the master
branch. Downloadable murex binaries are also built with the website.
Last built on Tue Dec 10 22:56:57 UTC 2024 against commit 60f05a260f05a227caf73dd5b3478e3cb3f4bb24e46745b.
Current version is 6.4.1005 (develop) which has been verified against tests cases.