modul PTY

Erstellt und verwaltet Pseudo-Terminals (PTYs). Siehe auch en.wikipedia.org/wiki/Pseudo_terminal

PTY ermöglicht es Ihnen, neue Terminals mit ::open oder ::spawn ein neues Terminal mit einem bestimmten Befehl zu belegen.

Beispiel

In diesem Beispiel ändern wir den Puffertyp im factor-Befehl, vorausgesetzt, factor verwendet stdio für die Pufferung der Standardausgabe.

Wenn anstelle von PTY.open IO.pipe verwendet wird, friert dieser Code ein, da die Standardausgabe von factor vollständig gepuffert ist.

# start by requiring the standard library PTY
require 'pty'

master, slave = PTY.open
read, write = IO.pipe
pid = spawn("factor", :in=>read, :out=>slave)
read.close     # we dont need the read
slave.close    # or the slave

# pipe "42" to the factor command
write.puts "42"
# output the response from factor
p master.gets #=> "42: 2 3 7\n"

# pipe "144" to factor and print out the response
write.puts "144"
p master.gets #=> "144: 2 2 2 2 3 3\n"
write.close # close the pipe

# The result of read operation when pty slave is closed is platform
# dependent.
ret = begin
        master.gets     # FreeBSD returns nil.
      rescue Errno::EIO # GNU/Linux raises EIO.
        nil
      end
p ret #=> nil

Lizenz

© Copyright 1998 von Akinori Ito.

Diese Software darf für diesen Zweck frei weiterverteilt werden, ganz oder teilweise, vorausgesetzt, diese vollständige Copyright-Anmerkung ist auf allen Kopien dieser Software und daraus abgeleiteten Anwendungen und Ableitungen enthalten.

Diese Software wird "wie besehen" zur Verfügung gestellt, ohne jegliche Garantie, weder ausdrücklich noch stillschweigend, in Bezug auf jegliche Angelegenheit, einschließlich, aber nicht beschränkt auf Garantie der Eignung für einen bestimmten Zweck oder der Marktfähigkeit, oder Ergebnisse, die aus der Verwendung dieser Software erzielt werden.