ios - 使用fork objc

标签 ios objective-c fork jailbreak

当检测到越狱设备时,如果派生过程失败,为什么大多数示例都会终止应用程序?这是否意味着设备没有越狱,所以一切正常,没有任何子进程?

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/

相关文章:

c - 在 C 中使用 fork()?

android - 将官方 WebRTC SDK 集成到 Android/iOS APP 的文档/示例

ios - Facebook api swift 当前用户为零

ios - 如何设置连接到我的 UIWebView 的 UISearchBar 以便能够使用 swift 使用单词而不是 url 在 google 上进行搜索

objective-c - 使用 Objective-C 编码时可以在运行时添加属性吗

execvp 和 wait() 之后无法重新获得控制权

ios - ARC 不允许将 'NSUInteger'(又名 'unsigned long')隐式转换为 'id'?

ios - Objective-C 中的 SIGBRT 错误,可能来自尝试的 JSON 请求

iphone - iOS:如何在主视图之上显示一个小 View ?

c - 在 For 循环中 fork() 发生了什么