Is there a way to determine if a command is interactive. For example (and this is a bad example) some systems have "rm" aliased to "rm -i". Is there a way to determine if the actual call to the remote system is waiting for a user-supplied answer? I am finding myself do stuff like... session.open_channel do |channel| channel.on_data |ch,data| # do whatever with data ch.close end channel.request_pty channel.exec( command ) end session.loop This requires me to make a call to request_pty otherwise my connection will hang, and I am forced to close the channel so it doesn''t hang. For running very specific commands I can get around this easy, but I am trying to attach a front-end to the "exec" function on channel, and supply a somewhat general-case solution. Any input is appreciated... Zach