Difference between revisions of "fcl-process"
From Lazarus wiki
Jump to navigationJump to searchm (Some more research to openpty added) |
Jwdietrich (talk | contribs) |
||
Line 25: | Line 25: | ||
= Notes = | = Notes = | ||
* on *nix to fool programs that check for a pty, forkpty might have to be used instead of fork See [http://forum.lazarus.freepascal.org/index.php?topic=22912.0;topicseen] Openpty and forkpty (which uses openpty) are not posix though. On FreeBSD these functions are not in libc but in libutil, and seem to be a shell over POSIX openpt and ptsname functions with some IOCTLs thrown in. | * on *nix to fool programs that check for a pty, forkpty might have to be used instead of fork See [http://forum.lazarus.freepascal.org/index.php?topic=22912.0;topicseen] Openpty and forkpty (which uses openpty) are not posix though. On FreeBSD these functions are not in libc but in libutil, and seem to be a shell over POSIX openpt and ptsname functions with some IOCTLs thrown in. | ||
+ | |||
+ | [[Category: Free Component Library]] | ||
+ | [[Category:Inter-process communication]] |
Revision as of 18:24, 26 December 2013
fcl-process is a package that contains multiple units for executing and interfacing (by pipes) with other programs. The most prominent member is the Process.TProcess class that is used
by Lazarus and described and documented elsewhere, like TProcess and has its own documentation in the FCL tome of the FPC Manuals.
The pipes unit implements basic pipe stream classes for use by the other units. The dbug* units implement a simple remote logging/inspection interface.
units
Unit | - | Comment |
---|---|---|
process | - | Contains TProcess class for executing external programs (and some related utility functions) |
pipes | - | Input and output pipe stream class used by process. |
simpleipc | - | Unit implementing one-way IPC between 2 processes |
dbugintf | - | Debugserver client interface, based on SimpleIPC |
dbugmsg | - | Debugserver Client/Server common code. |
Notes
- on *nix to fool programs that check for a pty, forkpty might have to be used instead of fork See [1] Openpty and forkpty (which uses openpty) are not posix though. On FreeBSD these functions are not in libc but in libutil, and seem to be a shell over POSIX openpt and ptsname functions with some IOCTLs thrown in.