Thanks for the pointers! I'm trying to avoid writing a temporary file and then feeding that back to the command. >def send_message message, netbiosname > IO.popen "smbclient -M #{netbiosname}", 'w' do |io| > message.each_line do |line| > io.write line > end > end > raise 'smbclient failed' unless $?.success? >end This works great. My script is a caller id popup/logger on Linux. I thought I would add notifiers to the other systems on my KVM switch so I don't have to switch back and forth to see if I need to pick up. This code runs inside a forked process which is then thrown away, so redirecting all of $stdin wouldn't have been a problem, but this avoids that issue, too. I really appreciate your help! Lester