read from process |
Type | command |
Dictionary | LCS |
Library | LiveCode Script |
Syntax | read from process <processName> [at <start>] {until {<string> | empty | end | EOF} | for <amount> [<chunkType>]} [in <time>]
|
Summary | Accepts the output of a process that was opened with the openprocess command, placing the data in the it variable.
|
Introduced | 1.0 |
Changes | Support for using the read from process command on OS X systems was
added in version 2.0.
|
OS | mac, windows, linux |
Platforms | desktop, server |
Parameters | Name | Type | Description |
---|
processName | | The processName specifies the name and location of the process you want
to read from. It must be the same as the path you used with the open
process command.
*Important:* The processName is case-sensitive, even on
platforms where file names are not case-sensitive. It
must be exactly the same--including the case of characters--as the
name you used with the open process command.
|
start | | The start specifies the character or byte position in the
process output where you want to begin reading.
|
chunkType | | The chunkType is one of chars, characters, words, items, lines, int1,
uInt1, int2, uint2, int4, or uint4. The read from process command
reads amount of the specified chunkType. If you don't specify a
chunkType, amount characters are read.
|
time | | The time is the time to wait for the read to be completed, in
milliseconds, seconds, or ticks.
|
string | | The string is any expression that evaluates to a
string. When LiveCode encounters the string in the process output,
it stops reading. If the string is not encountered, the read fromprocess command continues reading as long as there is data to be
read.
|
amount | | The amount is a positive integer and specifies how much data to read.
|
|
Example | read from process "compileData" for 20
read from process "/etc/pr" at 2 until linefeed
read from process myProcess for 10 int4s in 250 milliseconds
|
Values | Name | Type | Description |
---|
It | | The data is placed in the it variable after reading. If you specified
a binary data chunkType (int1, uInt1, int2, uint2, int4,
or uint4), the data consists of a comma-separated list of numbers, one
for the numerical value of each chunk that was read. Otherwise, the data
is placed in the it variable as it appears in the output.
|
The result | | The process to read from must be opened first with the open process
command, and the mode the process was opened in must be read or
update. If the process is not running or is write-only, the result
function is set to "Process is not open for read.". If the read fromprocess command encounters the end of the data output, the result
function is set to "eof". If you specify a time and the read is not
completed when that time has elapsed, the result function is set to
"time out". If the read was successful, the result is set to empty.
|
|
Related | Keyword: uInt2, string, int1, characters, int4, integer, int2, real4, uInt4, stdin, it, uInt1, character, real8
Constant: EOF
Command: open process, close process, write to process, read from driver
Function: openProcesses, ticks, result, milliseconds
Control Structure: function
Glossary: platform, binary file, variable, byte, case-sensitive, expression, evaluate, command, process
|
Security | process |
Description | Use the read from process command to get the output data from
another program.
The until form reads data until the specified string is
encountered.
The until end and until eof forms read data until the
process specifies it is finished.
When until empty is used the data is read in at specified time intervals.
If, when checked, the data is empty, the openProcesses function is used
to check whether the process has finished.
|