android系统中为什么无法fork出子进程?

海上宇航员zach 海上宇航员zach 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我尝试利用JNI在native层调用fork, 试图创建一个子进程,正常情况下fork会返回两次,但我发现实际情况是只打印了父进程执行的日志,并没有创建出子进程,这可能是哪里的问题呢?谢谢~

关于fork:
http://blog.csdn.net/jason314/article/details/5640969

fork代码如下:

static void JNICALL create (JNIEnv *env, jclass thiz, jobject context, jclass clazz){
pid_t ppid = getpid();
pid_t pid = fork();
if (pid < 0) {
LOG_D(LOGTAG, "create--fork failed!");
} else if (pid == 0) {
LOG_D(LOGTAG, "create--runOnSubprocess start...");
runOnSubprocess(env,clazz,ppid,context);
LOG_D(LOGTAG, "create--runOnSubprocess finished!");
exit(1);
} else {
LOG_D(LOGTAG, "create--run on parent process!");
}
}
...全文
评论 5
收藏 已收藏
分享
返回顶部
海上宇航员zach
Android 80,490 成员 91,375 内容