I am working on a relatively simple, independent "process starter" that I would like to get to work on Windows (XP, Vista, 7), Linux (Ubuntu 10.10) and especially Mac OS X (10.6). Linux and Windows basically work, but I'm having some trouble with the Mac version.
I was hoping fork()
and exec()
functions would work the same way under Mac OS as they work in Linux. So my first question is:
- Should I use these to create a
process on the Mac or are there any
platform specific functions to be
used?
My current code (which worked fine under Linux) to debug this looks something like this:
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
{
//[...]
}
Any idea if this could work under Mac OS X as well, because my child process is simply not being launched, while there are no errors that would come up.
Thank you!
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…