コマンドとかプロセスを実行する(システムコール系)
exec系
code:memo.c
#include <unistd.h>
extern char **environ;
int execl(const char *pathname, const char *arg, ...
/* (char *) NULL */);
int execlp(const char *file, const char *arg, ...
/* (char *) NULL */);
int execle(const char *pathname, const char *arg, ...
/*, (char *) NULL, char *const envp[] */);
int execv(const char *pathname, char *const argv[]);
int execvp(const char *file, char *const argv[]);
int execvpe(const char *file, char *const argv[],
char *const envp[]);
code:memo.c
execl("/bin/sh", "sh", "-c", command, (char *) NULL);
l: 可変長引数
p: ファイル名のみで指定した場合、環境変数から対象ファイルを探す
v: 配列で渡す
e: 環境変数を指定する
popen
system関数
code:memo.c
#include <stdlib.h>
int system(const char *command);
参考
C言語execメモ(Hishidama's C "exec" Memo)
Man page of SYSTEM
exec、execl、execle、execlp、execv、execve、execvp、exect、または fexecve サブルーチン - IBM Documentation
Man page of EXEC
関連
コマンドとかプロセスを起動する
#プロセス