Ano*_*mer 1 fork objective-c jailbreak ios
在检测越狱设备时,为什么如果 fork 进程失败,大多数示例会终止应用程序?这是否意味着设备没有越狱,所以一切正常,没有任何子进程?
int pid = fork();
if (!pid){
exit(0);
}
if (pid >= 0) {
return YES;
}
Run Code Online (Sandbox Code Playgroud)
PID 为 0 并不意味着分叉失败。这意味着分叉成功并且当前进程是子进程。PID > 0 表示fork 成功并且当前进程是父进程(返回值是子进程的PID)。PID -1 表示失败。
由于应用进程通常被禁止分叉,因此 -1 是预期结果。如果fork允许,则有两个过程。父级返回 YES,子级被终止,因为除了测试是否允许分叉之外,实际上不需要任何其他操作。
| 归档时间: |
|
| 查看次数: |
781 次 |
| 最近记录: |