0
は、プロセスを生成し、そのstdoutとstderrをキャプチャするためにpyuvでこのコードを実行:pyuv.pipe.start_read(...)がpyuv.process.spawnでSegementationフォルトを引き起こすのはなぜですか?
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import pyuv
def on_read(pipe, data, error):
print('data: ' + str(data))
def on_exit(process, exit_status, term_signal):
print('Process Terminated - exit code: ' + str(exit_status))
def start():
stdin_pipe = pyuv.Pipe(pyuv.Loop.default_loop())
stdout_pipe = pyuv.Pipe(pyuv.Loop.default_loop())
stderr_pipe = pyuv.Pipe(pyuv.Loop.default_loop())
stdout_pipe.start_read(on_read)
stderr_pipe.start_read(on_read)
stdio = [pyuv.StdIO(stream=stdin_pipe, flags=pyuv.UV_CREATE_PIPE | pyuv.UV_READABLE_PIPE),
pyuv.StdIO(stream=stdout_pipe, flags=pyuv.UV_CREATE_PIPE | pyuv.UV_WRITABLE_PIPE),
pyuv.StdIO(stream=stderr_pipe, flags=pyuv.UV_CREATE_PIPE | pyuv.UV_WRITABLE_PIPE)]
process = pyuv.Process(pyuv.Loop.default_loop())
process.spawn(loop=pyuv.Loop.default_loop(),
args=['/usr/bin/wget', 'http://www.google.com'],
exit_callback=on_exit,
stdio=stdio)
pyuv.Loop.default_loop().run()
if __name__ == '__main__':
start()
は「start_readを()」コメントSegmentation fault (core dumped)
は、パイプのインスタンスの作品を呼び出しますが、与えるものではありません生み出します私はstdoutとstderr。
私には何が欠けていますか?
これはpyuvの生成されたプロセスでstdoutとstderrをキャプチャする正しい方法ではありませんか?