The functions in this module are operating system specific. Careless use of these functions will result in programs that will only run on a specific platform. On the other hand, with careful use these functions can be of help in enabling a program to run on most platforms.
Types:
Command = string() | atom()
Executes Command
in a command shell of the target OS,
captures the standard output of the command and returns this
result as a string. This function is a replacement of
the previous unix:cmd/1
; on a Unix platform they are
equivalent.
Examples:
LsOut = os:cmd("ls"), % on unix platform DirOut = os:cmd("dir"), % on Win32 platform
Note that in some cases, standard output of a command when
called from another program (for example, os:cmd/1
)
may differ, compared to the standard output of the command
when called directly from an OS command shell.
find_executable(Name) -> Filename | false
find_executable(Name, Path) -> Filename | false
Types:
Name = string()
Path = string()
Filename = string()
These two functions look up an executable program given its
name and a search path, in the same way as the underlying
operating system. find_executable/1
uses the current
execution path (that is, the environment variable PATH on
Unix and Windows).
Path
, if given, should conform to the syntax of
execution paths on the operating system. The absolute
filename of the executable program Name
is returned,
or false
if the program was not found.
Returns a list of all environement variables.
Each environment variable is given as a single string on
the format "VarName=Value"
, where VarName
is
the name of the variable and Value
its value.
getenv(VarName) -> Value | false
Types:
VarName = string()
Value = string()
Returns the Value
of the environment variable
VarName
, or false
if the environment variable
is undefined.
Types:
Value = string()
Returns the process identifier of the current Erlang emulator
in the format most commonly used by the operating system
environment. Value
is returned as a string containing
the (usually) numerical identifier for a process. On Unix,
this is typically the return value of the getpid()
system call. On VxWorks, Value
contains the task id
(decimal notation) of the Erlang task. On Windows,
the process id as returned by the GetCurrentProcessId()
system call is used.
putenv(VarName, Value) -> true
Types:
VarName = string()
Value = string()
Sets a new Value
for the environment variable
VarName
.
type() -> {Osfamily, Osname} | Osfamily
Types:
Osfamily = win32 | unix | vxworks
Osname = atom()
Returns the Osfamily
and, in some cases, Osname
of the current operating system.
On Unix, Osname
will have same value as
uname -s
returns, but in lower case. For example, on
Solaris 1 and 2, it will be sunos
.
In Windows, Osname
will be either nt
(on
Windows NT), or windows
(on Windows 95).
On VxWorks the OS family alone is returned, that is
vxworks
.
Think twice before using this function. Use the
|
version() -> {Major, Minor, Release} | VersionString
Types:
Major = Minor = Release = integer()
VersionString = string()
Returns the operating system version. On most systems, this function returns a tuple, but a string will be returned instead if the system has versions which cannot be expressed as three numbers.
Think twice before using this function. If you still need
to use it, always |