By default, the current program is suspended while waiting for the command to finish executing. (In other words, the command is executed like it was a subroutine.) However, this can be modified by appending a modifier to the end of the cmd string, from the table below:
|
Modifier |
Function |
|
<none> |
Current process is suspended while waiting for the command to complete |
|
& |
Command executes in background (or in the case of Windows, minimized) and in parallel with current job. (Current job not suspended.) |
|
% |
(Windows only) Command executes in a minimized window, but current job is suspended while waiting for it to complete. This is most useful for minimizing the screen flash which would otherwise accompany a command that executed very quickly. |
|
$ |
(Windows only) Command executes in a normal window, but current job is not suspended. |
|
# |
(Windows only) Similar to "$", except that it allows the child process to inherit the handles opened by the parent. This is mainly only of interest for passing a socket opened by the parent to the child, so that the parent can close it and accept another on the same port. |
The command modifier, if present, should be separated from the end of the cmd string by a space. For example, to launch the Windows calculator without suspending the current job, you would use:
xcall HOSTEX,"CALC.EXE $"
History
2006 July, A-Shell build 960: added # switch