1)次のシステムコールは正常に機能します。
#define LOG_FILE_PATH "/tmp/logfile"
system("awk -v PRI=\"$PRI\" '/^<'$PRI'>/' "LOG_FILE_PATH);
2)しかし、上記のシステムを置き換えるためにfork + executeを使用する場合:
pid = fork();
if (pid == 0) {
execl("/usr/bin/awk", "awk", "-v", "PRI=\"$PRI\"", "'/^<'$PRI'>/'", LOG_FILE_PATH, (char *)0);
} else {
/* parent */
}
エラーメッセージが表示されました:
awk: cmd. line:1: Unexpected token