Vega strike Python Modules doc  0.5.1
Documentation of the " Modules " folder of Vega strike
 All Data Structures Namespaces Files Functions Variables
pty Namespace Reference

Functions

def openpty
 
def master_open
 
def slave_open
 
def fork
 
def spawn
 

Variables

list __all__ = ["openpty","fork","spawn"]
 
int STDIN_FILENO = 0
 
int STDOUT_FILENO = 1
 
int STDERR_FILENO = 2
 
int CHILD = 0
 

Detailed Description

Pseudo terminal utilities.

Function Documentation

def pty.fork ( )
fork() -> (pid, master_fd)
Fork and make the child a session leader with a controlling terminal.

Definition at line 91 of file pty.py.

References openpty().

91 
92 def fork():
93  """fork() -> (pid, master_fd)
94  Fork and make the child a session leader with a controlling terminal."""
95 
96  try:
97  pid, fd = os.forkpty()
98  except (AttributeError, OSError):
99  pass
100  else:
101  if pid == CHILD:
102  try:
103  os.setsid()
104  except OSError:
105  # os.forkpty() already set us session leader
106  pass
107  return pid, fd
108 
109  master_fd, slave_fd = openpty()
110  pid = os.fork()
111  if pid == CHILD:
112  # Establish a new session.
113  os.setsid()
114  os.close(master_fd)
115 
116  # Slave becomes stdin/stdout/stderr of child.
117  os.dup2(slave_fd, STDIN_FILENO)
118  os.dup2(slave_fd, STDOUT_FILENO)
119  os.dup2(slave_fd, STDERR_FILENO)
120  if (slave_fd > STDERR_FILENO):
121  os.close (slave_fd)
122 
123  # Parent and child process.
124  return pid, master_fd
def pty.master_open ( )
master_open() -> (master_fd, slave_name)
Open a pty master and return the fd, and the filename of the slave end.
Deprecated, use openpty() instead.

Definition at line 44 of file pty.py.

44 
45 def master_open():
46  """master_open() -> (master_fd, slave_name)
47  Open a pty master and return the fd, and the filename of the slave end.
48  Deprecated, use openpty() instead."""
49 
50  try:
51  master_fd, slave_fd = os.openpty()
52  except (AttributeError, OSError):
53  pass
54  else:
55  slave_name = os.ttyname(slave_fd)
56  os.close(slave_fd)
57  return master_fd, slave_name
58 
59  return _open_terminal()
def pty.openpty ( )
openpty() -> (master_fd, slave_fd)
Open a pty master/slave pair, using os.openpty() if possible.

Definition at line 32 of file pty.py.

References slave_open().

32 
33 def openpty():
34  """openpty() -> (master_fd, slave_fd)
35  Open a pty master/slave pair, using os.openpty() if possible."""
36 
37  try:
38  return os.openpty()
39  except (AttributeError, OSError):
40  pass
41  master_fd, slave_name = _open_terminal()
42  slave_fd = slave_open(slave_name)
43  return master_fd, slave_fd
def pty.slave_open (   tty_name)
slave_open(tty_name) -> slave_fd
Open the pty slave and acquire the controlling terminal, returning
opened filedescriptor.
Deprecated, use openpty() instead.

Definition at line 83 of file pty.py.

83 
84 def slave_open(tty_name):
85  """slave_open(tty_name) -> slave_fd
86  Open the pty slave and acquire the controlling terminal, returning
87  opened filedescriptor.
88  Deprecated, use openpty() instead."""
89 
90  return os.open(tty_name, os.O_RDWR)
def pty.spawn (   argv,
  master_read = _read,
  stdin_read = _read 
)
Create a spawned process.

Definition at line 150 of file pty.py.

References fork(), and tty.setraw().

151 def spawn(argv, master_read=_read, stdin_read=_read):
152  """Create a spawned process."""
153  if type(argv) == type(''):
154  argv = (argv,)
155  pid, master_fd = fork()
156  if pid == CHILD:
157  apply(os.execlp, (argv[0],) + argv)
158  mode = tty.tcgetattr(STDIN_FILENO)
159  tty.setraw(STDIN_FILENO)
160  try:
161  _copy(master_fd, master_read, stdin_read)
162  except IOError:
163  tty.tcsetattr(STDIN_FILENO, tty.TCSAFLUSH, mode)

Variable Documentation

list __all__ = ["openpty","fork","spawn"]

Definition at line 24 of file pty.py.

int CHILD = 0

Definition at line 30 of file pty.py.

int STDERR_FILENO = 2

Definition at line 28 of file pty.py.

int STDIN_FILENO = 0

Definition at line 26 of file pty.py.

int STDOUT_FILENO = 1

Definition at line 27 of file pty.py.