% File src/library/base/man/showConnections.Rd % Part of the R package, https://www.R-project.org % Copyright 1995-2018 R Core Team % Distributed under GPL 2 or later \name{showConnections} \alias{showConnections} \alias{getConnection} \alias{getAllConnections} \alias{closeAllConnections} \alias{stdin} \alias{stdout} \alias{stderr} \alias{nullfile} \alias{isatty} \title{Display Connections} \description{ Display aspects of \link{connections}. } \usage{ showConnections(all = FALSE) getConnection(what) closeAllConnections() stdin() stdout() stderr() nullfile() isatty(con) } \arguments{ \item{all}{logical: if true all connections, including closed ones and the standard ones are displayed. If false only open user-created connections are included.} \item{what}{integer: a row number of the table given by \code{showConnections}.} \item{con}{a connection.} } \details{ \code{stdin()}, \code{stdout()} and \code{stderr()} are standard connections corresponding to input, output and error on the console respectively (and not necessarily to file streams). They are text-mode connections of class \code{"terminal"} which cannot be opened or closed, and are read-only, write-only and write-only respectively. The \code{stdout()} and \code{stderr()} connections can be re-directed by \code{\link{sink}} (and in some circumstances the output from \code{stdout()} can be split: see the help page). The encoding for \code{\link{stdin}()} when redirected can be set by the command-line flag \option{--encoding}. \code{nullfile()} returns filename of the null device (\code{"/dev/null"} on Unix, \code{"nul:"} on Windows). \code{showConnections} returns a matrix of information. If a connection object has been lost or forgotten, \code{getConnection} will take a row number from the table and return a connection object for that connection, which can be used to close the connection, for example. However, if there is no \R level object referring to the connection it will be closed automatically at the next garbage collection (except for \code{\link{gzcon}} connections). \code{closeAllConnections} closes (and destroys) all user connections, restoring all \code{\link{sink}} diversions as it does so. \code{isatty} returns true if the connection is one of the class \code{"terminal"} connections and it is apparently connected to a terminal, otherwise false. This may not be reliable in embedded applications, including GUI consoles. } \note{ \code{stdin()} refers to the \sQuote{console} and not to the C-level \file{stdin} of the process. The distinction matters in GUI consoles (which may not have an active \file{stdin}, and if they do it may not be connected to console input), and also in embedded applications. If you want access to the C-level file stream \file{stdin}, use \code{\link{file}("stdin")}. When \R is reading a script from a file, the \emph{file} is the \sQuote{console}: this is traditional usage to allow in-line data (see \sQuote{An Introduction to R} for an example). } \value{ \code{stdin()}, \code{stdout()} and \code{stderr()} return connection objects. \code{showConnections} returns a character matrix of information with a row for each connection, by default only for open non-standard connections. \code{getConnection} returns a connection object, or \code{NULL}. } \seealso{\code{\link{connections}}} \examples{ showConnections(all = TRUE) \dontrun{ textConnection(letters) # oops, I forgot to record that one showConnections() # class description mode text isopen can read can write #3 "letters" "textConnection" "r" "text" "opened" "yes" "no" mycon <- getConnection(3) } c(isatty(stdin()), isatty(stdout()), isatty(stderr())) } \keyword{connection}