Я работаю над относительно простым, независимым « началом процесса », которое я хотел бы заставить работать на Windows (XP, Vista, 7), Linux (Ubuntu 10.10) и особенно Mac OS X (10,6).Linux и Windows в основном работают, но у меня проблемы с версией для Mac.Я надеялся, что функции fork()
и exec()
будут работать в Mac OS так же, как и в Linux.Итак, мой первый вопрос:
- Должен ли я использовать их для создания процесса на 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, потому что мой дочерний процесспросто не запускается, в то время как нет никаких ошибок, которые могут появиться.
Спасибо!