当检测到越狱设备时,如果派生过程失败,为什么大多数示例都会终止应用程序?这是否意味着设备没有越狱,所以一切正常,没有任何子进程?
int pid = fork();
if (!pid){
exit(0);
}
if (pid >= 0) {
return YES;
}
最佳答案
PID为0并不意味着派生失败。这意味着派生成功,并且当前进程是子进程。 PID> 0表示派生成功,并且当前进程是父进程(返回值是子进程的PID)。 PID -1表示失败。
由于通常禁止应用程序进程派生,因此预期结果为-1。如果允许fork
,则有两个过程。父级返回YES,并且终止子级,因为除了测试是否允许fork之外,实际上不需要其他任何子级。
关于ios - 使用fork objc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53855789/