- Spawning Posix compatible system process using posix_spawn
- Dispatching code to multiple VMs, each VM runs on a separated system process. Inter-processes communication via shared memory
Metacello new
repository: 'github://lxsang/SystemProcess';
baseline:'SystemProcess';
load
Execute a command and redirect its stdout
|o|
o:= SystemProcess new.
o redirectStdout.
o onOutputDo: [
:d| Transcript show: d
].
o onFinishDo: [ o cleanup ].
o shellCommand: { 'ls'. '-al' }.
Execute a command and redirect its stdin, stdout:
|o crlf|
crlf := Character cr asString, Character lf asString.
o:= SystemProcess new.
o redirectStdout.
o redirectStdin.
o onOutputDo: [
:d| Transcript show: d
].
o onFinishDo: [ o cleanup ].
o shellCommand: { '/bin/sh'}.
o stdinStream nextPutAll: 'ls -al', crlf.
"exit /bin/sh"
o stdinStream nextPutAll: 'exit',crlf
Please refer to this post: https://blog.lxsang.me/post/id/25