getProcessID :: IO ProcessID
getProcessID calls getpid to obtain the ProcessID for
the current process.
getParentProcessID :: IO ProcessID
getProcessID calls getppid to obtain the ProcessID for
the parent of the current process.
getRealUserID :: IO UserID
getRealUserID calls getuid to obtain the real UserID
associated with the current process.
getEffectiveUserID :: IO UserID
getEffectiveUserID calls geteuid to obtain the effective
UserID associated with the current process.
setUserID :: UserID -> IO ()
setUserID uid calls setuid to set the real, effective, and
saved set-user-id associated with the current process to uid.
getLoginName :: IO String
getLoginName calls getlogin to obtain the login name
associated with the current process.
getRealGroupID :: IO GroupID
getRealGroupID calls getgid to obtain the real GroupID
associated with the current process.
getEffectiveGroupID :: IO GroupID
getEffectiveGroupID calls getegid to obtain the effective
GroupID associated with the current process.
setGroupID :: GroupID -> IO ()
setGroupID gid calls setgid to set the real, effective, and
saved set-group-id associated with the current process to gid.
getGroups :: IO [GroupID]
getGroups calls getgroups to obtain the list of
supplementary GroupIDs associated with the current process.
getEffectiveUserName :: IO String
getEffectiveUserName calls cuserid to obtain a name
associated with the effective UserID of the process.
getProcessGroupID :: IO ProcessGroupID
getProcessGroupID calls getpgrp to obtain the
ProcessGroupID for the current process.
createProcessGroup :: ProcessID -> IO ProcessGroupID
createProcessGroup pid calls setpgid to make
process pid a new process group leader.
joinProcessGroup :: ProcessGroupID -> IO ProcessGroupID
joinProcessGroup pgid calls setpgid to set the
ProcessGroupID of the current process to pgid.
setProcessGroupID :: ProcessID -> ProcessGroupID -> IO ()
setProcessGroupID pid pgid calls setpgid to set the
ProcessGroupID for process pid to pgid.
createSession :: IO ProcessGroupID
createSession calls setsid to create a new session
with the current process as session leader.
systemName :: SystemID -> String nodeName :: SystemID -> String release :: SystemID -> String version :: SystemID -> String machine :: SystemID -> String getSystemID :: IO SystemID
getSystemID calls uname to obtain information
about the current operating system.
> epochTime :: IO EpochTime
epochTime calls time to obtain the number of
seconds that have elapsed since the epoch (Jan 01 00:00:00 GMT 1970).
elapsedTime :: ProcessTimes -> ClockTick userTime :: ProcessTimes -> ClockTick systemTime :: ProcessTimes -> ClockTick childUserTime :: ProcessTimes -> ClockTick childSystemTime :: ProcessTimes -> ClockTick getProcessTimes :: IO ProcessTimes
getProcessTimes calls times to obtain time-accounting
information for the current process and its children.
getControllingTerminalName :: IO FilePath
getControllingTerminalName calls ctermid to obtain
a name associated with the controlling terminal for the process. If a
controlling terminal exists,
getControllingTerminalName returns the name of the
controlling terminal.
The operation may fail with:
NoSuchThingThere is no controlling terminal, or its name cannot be determined.
SystemErrorVarious other causes.
getTerminalName :: Fd -> IO FilePath
getTerminalName fd calls ttyname to obtain a name associated
with the terminal for Fd fd. If fd is associated
with a terminal, getTerminalName returns the name of the
terminal.
The operation may fail with:
InappropriateTypeThe channel is not associated with a terminal.
NoSuchThingThe channel is associated with a terminal, but it has no name.
SystemErrorVarious other causes.
queryTerminal :: Fd -> IO Bool
queryTerminal fd calls isatty to determine whether or
not Fd fd is associated with a terminal.
getSysVar :: SysVar -> IO Limit
getSysVar var calls sysconf to obtain the
dynamic value of the requested configurable system limit or option.
For defined system limits, getSysVar returns the associated
value. For defined system options, the result of getSysVar
is undefined, but not failure.
The operation may fail with:
NoSuchThingThe requested system limit or option is undefined.