調試Emacs的外部進程處理我需要包裝器來記錄所有消息流。stdin stdout的記錄器
因此Emacs發送字符串到包裝stdin,包裝器記錄它併發送到外部進程。然後返回外部進程發送輸出,包裝器登錄併發送給Emacs。
我的期望knowlage很小,所以我問問題。可能已經存在用於此目的的標準工具?
How to implement a stdin, stdout wrapper?不回答我的問題!
調試Emacs的外部進程處理我需要包裝器來記錄所有消息流。stdin stdout的記錄器
因此Emacs發送字符串到包裝stdin,包裝器記錄它併發送到外部進程。然後返回外部進程發送輸出,包裝器登錄併發送給Emacs。
我的期望knowlage很小,所以我問問題。可能已經存在用於此目的的標準工具?
How to implement a stdin, stdout wrapper?不回答我的問題!
這個例子讓我的魔杖,但在有限的形式(終端規範模式下配置,所以一些字符代碼不容許):
#!/usr/bin/env expect set in [open in.log w] set out [open out.log w] log_user 0 set stty_init {-echo} exp_internal 1 # spawn sort spawn /bin/prog set proc_id $spawn_id expect { -i $user_spawn_id -re . { puts -nonewline $in $expect_out(buffer) send -i $proc_id $expect_out(buffer) exp_continue } eof { send -i $proc_id \x04 sleep 1 send -i $proc_id \x04 expect -i $proc_id -re . { puts -nonewline $out $expect_out(buffer) send_user $expect_out(buffer) exp_continue } eof { } } -i $proc_id -re . { puts -nonewline $out $expect_out(buffer) send_user $expect_out(buffer) exp_continue } eof { } } wait
我不瞭解情況。
是否通過stdin和stdout進行交互? tee(1)http://unixhelp.ed.ac.uk/CGI/man-cgi?tee是否不符合您的所有要求?
我只可以說你不明白...看看http://www.nist.gov/el/msid/expect.cfm我找了已開發的解決方案,但似乎需要編寫自己的。 – gavenkoa