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

柴西卡夫卡 2016-02-18 01:48:54
我尝试利用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!");
}
}
...全文
801 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_38553652 2017-07-18
  • 打赏
  • 举报
回复
我也遇到同样的问题,有大神解决出来了吗?
sinde_tian 2016-07-21
  • 打赏
  • 举报
回复
应该是可以fork成功的,估计查看日志的方式有问题。可以使用adb shell 然后 ps 打印所以进程进行查看是否成功
柴西卡夫卡 2016-06-04
  • 打赏
  • 举报
回复
后面由于采用了其他方案,没有深入研究,我当时发现开始时是可以成功fork的,但运行多次之后就不行了,我怀疑是之前fork的没有销毁,所以无法进入
shenqixiaozhu 2016-05-30
  • 打赏
  • 举报
回复
你好,问下你的这个问题解决了吗?我现在也遇到这个问题,始终进不去子进程

80,360

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧