summaryrefslogtreecommitdiff
path: root/src/lib/libc/stdlib/system.3
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libc/stdlib/system.3')
-rw-r--r--src/lib/libc/stdlib/system.3103
1 files changed, 103 insertions, 0 deletions
diff --git a/src/lib/libc/stdlib/system.3 b/src/lib/libc/stdlib/system.3
new file mode 100644
index 0000000000..83c6de80e3
--- /dev/null
+++ b/src/lib/libc/stdlib/system.3
@@ -0,0 +1,103 @@
1.\" Copyright (c) 1990, 1991 The Regents of the University of California.
2.\" All rights reserved.
3.\"
4.\" This code is derived from software contributed to Berkeley by
5.\" the American National Standards Committee X3, on Information
6.\" Processing Systems.
7.\"
8.\" Redistribution and use in source and binary forms, with or without
9.\" modification, are permitted provided that the following conditions
10.\" are met:
11.\" 1. Redistributions of source code must retain the above copyright
12.\" notice, this list of conditions and the following disclaimer.
13.\" 2. Redistributions in binary form must reproduce the above copyright
14.\" notice, this list of conditions and the following disclaimer in the
15.\" documentation and/or other materials provided with the distribution.
16.\" 3. All advertising materials mentioning features or use of this software
17.\" must display the following acknowledgement:
18.\" This product includes software developed by the University of
19.\" California, Berkeley and its contributors.
20.\" 4. Neither the name of the University nor the names of its contributors
21.\" may be used to endorse or promote products derived from this software
22.\" without specific prior written permission.
23.\"
24.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
25.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
26.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
28.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
29.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
30.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
31.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
32.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
33.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
34.\" SUCH DAMAGE.
35.\"
36.\" $OpenBSD: system.3,v 1.8 2000/10/06 04:17:51 aaron Exp $
37.\"
38.Dd June 29, 1991
39.Dt SYSTEM 3
40.Os
41.Sh NAME
42.Nm system
43.Nd pass a command to the shell
44.Sh SYNOPSIS
45.Fd #include <stdlib.h>
46.Ft int
47.Fn system "const char *string"
48.Sh DESCRIPTION
49The
50.Fn system
51function hands the argument
52.Fa string
53to the command interpreter
54.Xr sh 1 .
55The calling process waits for the shell to finish executing the command,
56ignoring
57.Dv SIGINT
58and
59.Dv SIGQUIT ,
60and blocking
61.Dv SIGCHLD .
62.Pp
63If
64.Fa string
65is
66.Dv NULL ,
67.Fn system
68will return non-zero.
69Otherwise,
70.Fn system
71returns the termination status of the shell in the format specified by
72.Xr waitpid 2 .
73.Sh RETURN VALUES
74If a child process cannot be created, or the termination status of
75the shell cannot be obtained,
76.Fn system
77returns \-1 and sets
78.Va errno
79to indicate the error.
80If execution of the shell fails,
81.Fn system
82returns the termination status for a program that terminates with a call of
83.Fn exit 127 .
84.Sh SEE ALSO
85.Xr sh 1 ,
86.Xr execve 2 ,
87.Xr waitpid 2 ,
88.Xr popen 3
89.Sh STANDARDS
90The
91.Fn system
92function conforms to
93.St -ansiC
94and
95.St -p1003.2-92 .
96.Sh CAVEATS
97Never supply the
98.Fn system
99function with a command containing any part of an unsanitized user-supplied
100string.
101Shell meta-characters present will be honored by the
102.Xr sh 1
103command interpreter.