Class UnixPtyChild

All Implemented Interfaces:
PtyChild, PtyEndpoint

public class UnixPtyChild extends UnixPtyEndpoint implements PtyChild
  • Method Details

    • nullSession

      public String nullSession(Collection<PtyChild.TermMode> mode)
      Description copied from interface: PtyChild
      Start a session without a real leader, instead obtaining the pty's name

      This method or any other session method can only be invoked once per pty. It must be called before anyone reads the parent's output stream, since obtaining the filename may be implemented by the parent sending commands to its child.

      If the child end of the pty is on a remote system, this should be the file (or other resource) name as it would be accessed on that remote system.

      Specified by:
      nullSession in interface PtyChild
      Parameters:
      mode - the terminal mode. If a mode is not implemented, it may be silently ignored.
      Returns:
      the file name
    • session

      public PtySession session(String[] args, Map<String,String> env, File workingDirectory, Collection<PtyChild.TermMode> mode) throws IOException
      Spawn a subprocess in a new session whose controlling tty is this pseudo-terminal

      This method or PtyChild.nullSession(Collection) can only be invoked once per pty.

      Specified by:
      session in interface PtyChild
      Parameters:
      args - the image path and arguments
      env - the environment
      workingDirectory - the working directory
      mode - the terminal mode. If a mode is not implemented, it may be silently ignored.
      Returns:
      a handle to the subprocess
      Throws:
      IOException - if the session could not be started
    • sessionUsingJavaLeader

      protected PtySession sessionUsingJavaLeader(String[] args, Map<String,String> env, File workingDirectory, Collection<PtyChild.TermMode> mode) throws IOException
      Throws:
      IOException
    • setWindowSize

      public void setWindowSize(short cols, short rows)
      Description copied from interface: PtyChild
      Resize the terminal window to the given width and height, in characters
      Specified by:
      setWindowSize in interface PtyChild
      Parameters:
      cols - the width in characters
      rows - the height in characters