task

>> << Ndx Usr Pri Phr Dic Rel Voc !: wd Help User

# task: task
executing tasks with optional timeout or I/O TASKS WITHOUT I/O
      fork 'notepad.exe'           NB. run notepad, no wait, no I/O
      5000 fork 'notepad.exe'      NB. run notepad, wait 5 sec, no I/O
      _1 fork 'notepad.exe'        NB. run notepad, until closed, no I/O
      5000 fork 'cmd /k dir'  NB. show dir in cmd window for 5 sec and close
      _1 fork 'cmd /k dir'    NB. show dir in cmd window until user closes it
TASKS WITH I/O
      spawn 'net users'                    NB. get stdout from process
      '+/i.3 4'spawn'jconsole'             NB. call process with I/O
      12 15 18 21
SHELL COMMANDS (WITH I/O)
      shell'echo.|time'                    NB. get result of shell command
    The current time is:  8:04:13.09
    Enter the new time:
      (shell'dir /b')shell'find ".dll"'    NB. get all DDL names by piping
    j.dll
    jregexp.dll
NOTE: the implementation uses C-type structures by the original Method of Named Fields Script developed by Oleg Kobchenko.
Name | Type | Description
fork | verb | run task and optionally wait for completion
shell | verb | [monad] get stdout of shell command
shell | verb | [dyad] send stdin and get stdout of shell command
spawn | verb | [monad] get stdout of executed task
spawn | verb | [dyad] send stdin and get stdout of task
fork
    run task and optionally wait for completion

    form: [timeout=0] fork cmdline

      timeout: 0 no wait, _1 infinite, >0 timeout
      cmdline: 'shortcmd arg1 arg2 ...'
      cmdline: '"command with space" arg1 ...'

    e.g. fork 'notepad.exe'
shell
    [monad] get stdout of shell command

      e.g. shell 'dir /b/s'
shell
    [dyad] send stdin and get stdout of shell command

      e.g. (shell 'dir /b/s') shell 'find ".dll"'
spawn
    [monad] get stdout of executed task

    form:  stdout=. spawn cmdline

      stdout: _1 fail, '' or stdout stream value if success
      cmdline: 'shortcmd arg1 arg2 ...'
      cmdline: '"command with space" arg1 ...'

    e.g. spawn 'net users'
spawn
    [dyad] send stdin and get stdout of task

    form: stdout=. [stdin=''] spawn cmdline

      stdin: input to stream as stdin, '' no input

    e.g. 'i.3 4'spawn'jconsole'
>> << Ndx Usr Pri Phr Dic Rel Voc !: wd Help User