====== Spouštění programu ====== ===== exec rodina ===== int execl (const char *path, const char *arg, ...); int execlp (const char *file, const char *arg, ...); int execle (const char *path, const char *arg, ..., char *const envp[]); int execv (const char *path, char *const argv[]); int execvp (const char *file, char *const argv[]); int execvpe(const char *file, char *const argv[], char *const envp[]); * první argument musí být název programu * poslední argument musí být ''(char*) NULL'' * funkce s ''e'' umožňují nastavit systémové proměnné (parametr envp) * funkce s ''p'' hledají program ve složkách definovaných systémovou proměnnou PATH * funkce s ''v'' argumenty předány v poli (poslední NULL) * funkce s ''l'' argumenty předány přes argumenty funkce (pohodlnější, poslední musí být stále NULL) ===== Wrapper ===== * hodí se pro zjištění, kdo jak volá nějakou binárku * parametry i stdin zapisuje do syslogu #include #include #include #include using namespace std; main( int argc, char ** argv, char ** envp ) { stringstream cmdss; cmdss << "/usr/bin/logger.back "; int i; for (i=1; i