|
Am 28.10.2013 18:05 schröbte Rena:
#!/usr/bin/env lua5.1 local posix = require('posix') local function spawn(program, ...) local read, write = posix.pipe() local cpid = posix.fork() if cpid == 0 then --child
assert(posix.dup2(write, 1)) -- replace stdout with pipe-end
assert(posix.execp(program, ...)) else return {read=read, write=write, pid=cpid} end end local proc = assert(spawn('ping', '127.0.0.1')) while true do local data = assert(posix.read(proc.read, 1024)) print("ping says:", data) end but ping doesn't write to the pipe, and just outputs to my terminal instead.
HTH, Philipp