jdb(Javaデバッガ)をラップするスクリプトを作成しています。私は本質的にこのプロセスを包み込み、ユーザーのやり取りを代理したいと思っています。だから私はそれにしたい:私のスクリプト ルビーでシェルプロセスをプロキシする方法
- 開始JDBを
- 一時停止を標準出力に出力し、ユーザがコマンドを入力したときにJDBが
- を行う際に入力を待つ、それを渡すためにJDBの出力を送信jdb
現時点では、私は本当にjdbにパススルーしたい。その理由は、特定のパラメータでプロセスを初期化し、将来的にはさらに多くのコマンドを追加する可能性があるからです。
アップデート:ここで私は期待して使用するために働くことになったものの殻だ :
PTY.spawn("jdb -attach 1234") do |read,write,pid|
write.sync = true
while (true) do
read.expect(/\r\r\n> /) do |s|
s = s[0].split(/\r\r\n/)
s.pop # get rid of prompt
s.each { |line| puts line }
print '> '
STDOUT.flush
write.print(STDIN.gets)
end
end
end
リンクはもう有効ではありません。 – defactodeity
ありがとうございます。私はサンプルリンクを削除しました。現在使用しているサイトを見つけたら、教えてください。 –