SYSTEM(3) Library Functions Manual SYSTEM(3)NAME
system - issue a shell command
SYNOPSIS
system(string)
char *string;
DESCRIPTION
System causes the string to be given to sh(1) as input as if the string had been typed as a command at a terminal. The current process
waits until the shell has completed, then returns the exit status of the shell.
SEE ALSO popen(3), exec(2), wait(2)DIAGNOSTICS
Exit status 127 indicates the shell couldn't be executed.
SYSTEM(3)
Check Out this Related Man Page
SYSTEM(3) Linux Programmer's Manual SYSTEM(3)NAME
system - execute a shell command
SYNOPSIS
#include <stdlib.h>
int system(const char *string);
DESCRIPTION
system() executes a command specified in string by calling /bin/sh -c string, and returns after the command has been completed. During
execution of the command, SIGCHLD will be blocked, and SIGINT and SIGQUIT will be ignored.
RETURN VALUE
The value returned is -1 on error (e.g. fork failed), and the return status of the command otherwise. This latter return status is in the
format specified in wait(2). Thus, the exit code of the command will be WEXITSTATUS(status). In case /bin/sh could not be executed, the
exit status will be that of a command that does exit(127).
If the value of string is NULL, system() returns nonzero if the shell is available, and zero if not.
system() does not affect the wait status of any other children.
CONFORMING TO
ANSI C, POSIX.2, BSD 4.3
NOTES
As mentioned, system() ignores SIGINT and SIGQUIT. This may make programs that call it from a loop uninterruptable, unless they take care
themselves to check the exit status of the child. E.g.
while(something) {
int ret = system("foo");
if (WIFSIGNALED(ret) &&
(WTERMSIG(ret) == SIGINT || WTERMSIG(ret) == SIGQUIT))
break;
}
Do not use system() from a program with suid or sgid privileges, because strange values for some environment variables might be used to
subvert system integrity. Use the exec(3) family of functions instead, but not execlp(3) or execvp(3). system() will not, in fact, work
properly from programs with suid or sgid privileges on systems on which /bin/sh is bash version 2, since bash 2 drops privileges on
startup. (Debian uses a modified bash which does not do this when invoked as sh.)
The check for the availability of /bin/sh is not actually performed; it is always assumed to be available. ISO C specifies the check, but
POSIX.2 specifies that the return shall always be non-zero, since a system without the shell is not conforming, and it is this that is
implemented.
It is possible for the shell command to return 127, so that code is not a sure indication that the execve() call failed.
SEE ALSO sh(1), signal(2), wait(2), exec(3)
2001-09-23 SYSTEM(3)
I'm a newbie so I'm not sure if I'm posting this in the right section... if I didn't, please forgive me :)
I've been looking all over the web for information on system administration. I'd like to become a Unix System Administrator but I want to find some more info about the job. Can someone please... (54 Replies)
hello all,
I have been trying to boot an image (.IMG) using qemu, for quite some time now and i can't seem to get it to work. I've been able to boot from the Windows XP CD, the Debian iso image, etc, so I know qemu is configured properly and is working. But when it come to booting an image that I... (34 Replies)
Hello,
I have a legacy system that is running on SCO OpenServer 5.0.6, and the hardware is becoming a little sketchy. I replaced the hard drive about a year ago, and was able to come back from a tape backup of my entire system. I have been successful with building a VM with VMware Workstation,... (42 Replies)
Today I mapped out the new badging system using FA icons, Beta 1 in no particular order except a 6 x 8 grid:
https://www.unix.com/members/1-albums215-picture991.png
The prototype HTML code for this layout:
<style>
.fa-badge-grid {
font-size: 1.5em;
}
.row {
... (38 Replies)
What is your favorite Linux distro?
and possibly why?
Personally, I have Fedora 3 on my computer. I have used Ubuntu and Slackware, too. But I think I liked Ubuntu more, maybe because of its speed and easy installation of packages. (192 Replies)