Я работаю над относительно простым, независимым « стартером процесса », который я хотел бы использовать в Windows (XP, Vista, 7), Linux (Ubuntu 10.10) ) и особенно Mac OS X (10.6). Linux и Windows в основном работают, но у меня проблемы с версией для Mac.
Я надеялся, что функции fork ()
и exec ()
будут работать в Mac OS так же, как они работают в Linux. Итак, мой первый вопрос:
Мой текущий код (который отлично работал под Linux) для отладки выглядит примерно так:
pid_t processId = 0;
if (processId = fork()) == 0)
{
const char * tmpApplication = "/Path/to/TestApplication";
int argc = 1;
char * argv[argc + 1];
argv[0] = tmpApplication;
argv[1] = NULL;
execv(tmpApplication, argv);
}else
{
//[...]
}
Есть идеи, может ли это работать и под Mac OS X, потому что мой дочерний процесс просто не запускается, в то время как нет ошибок, которые могли бы возникнуть.
Спасибо!