system * nix, fork, exec /bin/sh -c, , system , /bin/sh, . wait, /bin/sh, , script, system .
wait:
main 3 wait
, , , .
WIFEXITED(stat_val) , , . exit. , WEXITSTATUS(stat_val), , .
WIFSIGNALED(stat_val) , , , WTERMSIG(stat_val) , .
, , , , , , .
, . fork , system -1 errno, . fork , . , system , , errno, , , , .
perror, , errno.
fork , , , script. echo script C.
access, , / .
Linux, :
strace -o my_program.strace -f ./my_program
ltrace -o my_program.ltrace -f -S ./my_program
( -o), , . ltrace , , strace , -S ltrace . -f , .
, , ksh
, system Posix /bin/sh . , /bin/sh /bin/ksh script ( #! script), ), . shell-, , . :
. myshell.sh
, ( ). :
int x = system(". myshell.sh");
.