Как создать процесс в Mac OS с помощью fork () и exec ()

Я работаю над относительно простым, независимым « стартером процесса », который я хотел бы использовать в Windows (XP, Vista, 7), Linux (Ubuntu 10.10) ) и особенно Mac OS X (10.6). Linux и Windows в основном работают, но у меня проблемы с версией для Mac. Я надеялся, что функции fork () и exec () будут работать в Mac OS так же, как они работают в Linux. Итак, мой первый вопрос:

  1. Следует ли мне использовать их для создания процесс на Mac или есть ли специфические функции платформы, которые будут используется?

Мой текущий код (который отлично работал под 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, потому что мой дочерний процесс просто не запускается, в то время как нет ошибок, которые могли бы возникнуть.

Спасибо!

9
задан Chris 1 December 2010 в 16:42
поделиться