lolizeppelin 发表于 2015-09-20 10:23

除了stdout还有什么方式输出

这个问题来自erl的shell中

strace启动erlshell过程

writev(0, [{"Erlang/OTP 18 , 2) = 118   !!!!stdout获取不到
writev(0, [{"Eshell V7.0(abort with ^G)\r\n", 30}], 1 <unfinished ...>   stdout可以获取
writev(0, [{"1> ", 3}], 1 <unfinished ...> stdout可以获取

在shell中启动erl
Erlang/OTP 18 [source这个输出有


但是我将命令用python的subprocess来执行,将erl进程的stdout重定向到python的管道里后
stdout里读取不到Erlang/OTP 18 [source
而是直接显示 Eshell V7.0(abort with ^G)\r\n


linux里除了向stdout里write输出以外,还有其他方式打印内容的么?

MMMIX 发表于 2015-09-20 17:44

回复 1# lolizeppelin


    那你再在 Python 中用 strace 跟踪 erl 看看。
页: [1]
查看完整版本: 除了stdout还有什么方式输出