/* kproc.c * プロセス処理のサンプル */ #define USAGE "Usage: kproc " #include "apr_general.h" #include "apr_file_io.h" #include "apr_errno.h" #include "apr_env.h" #include "apr_strings.h" #include "apr_thread_proc.h" #include "mystab.h" int apr_my_main ( int ac, char **av , apr_file_t * astdin , apr_file_t * astdout , apr_file_t * astderr , apr_pool_t * pool ) { apr_status_t rv=APR_SUCCESS; char *prog_name = NULL; char **args = NULL; apr_proc_t proc; apr_pool_t *pool2 = NULL; apr_procattr_t *proc_attr = NULL; if (ac < 2) { apr_file_printf(astderr, "%s\n", USAGE); goto _FINALLY_; } /* 子プロセスが実行するコマンド */ prog_name = av[1]; /* 子プロセスの実行するコマンドへの引数配列の準備 */ if (ac > 1) { int i; args = (char**)apr_palloc(pool, sizeof(char*)*(ac)); for (i=0; i