Associated topics:
/quote
/repeat
/ps
/kill
%ptime
%lpquote
The /quote and /repeat commands in Fugue are done by setting up internal processes that run concurrently with normal input and output.
/ps can be used to get a listing of the currently running processes and their process ID's (for use with /kill).
/kill can be used to terminate a process.
Processes can be either synchronous or asynchronous. Synchronous processes (started with the -S option) run immediately when they are started, and run to completion (unless TF is interrupted) before any other commands are executed. Synchronous processes are new in version 3.3 beta 10.
Asynchronous processes are merely scheduled to be run by a /quote or /repeat command; the actual execution occurs at some later time. They can be run based on two different criteria:
1. Normally, processes run whenever a specific period of time has elapsed. The delay can be specified when the process is started, or will default to the value of %{ptime}.
2. If the %{lpquote} flag is on or the process was started with the -P option, a process run whenever a prompt is received from the server, indicating that the previous command has completed. If the process was started with a -w option, only prompts from the specified world will trigger its execution. Example:
/quote -P /send `/_echo n%; /_echo w%; /_echo w%; /_echo swill send the commands "n", "w", "w", and "s", waiting between each one until the prompt following the previous command is seen.
If an asynchronous /quote or /repeat is followed immediately by another command, the other command will run first, because the asynchronous process was only scheduled, not actually executed (even with -n or -0 options). Use a synchronous /quote or /repeat to force the process to run before any other commands.
Bodies of /repeat undergo macro body expansion when they are executed; text generated by /quote does not.
See also: utilities (/at, /tick)