long add(long x,long y)
{
pid_t fpid; //fpid表示fork函数返回的值
int count=0;
fpid=fork();
if (fpid < 0)
LOGI("error in fork!");
else if (fpid == 0) {
LOGI("i am the child process, my process id is %d/n",getpid());
count++;
return x;
}
else {
LOGI("i am the parent process, my process id is %d/n",getpid());
count++;
return y;
}
}

JNI调用native 方法 add函数

父进程输出了打印信息,子进程没有反应。

父进程pid  17247

DDMS中查看Threads,

TID  Status   utime   stime  Name

17247 Native  19        12     main

adb shell ps命令查看

USER       PID   PPID   VSZ     RSS  STAT  NAME

root       152  1              S    zygote

u0_a66   17247  152   297120  44096  S  com.example.jni

u0_a66   17520  17247  0    0    Z  com.example.jni

貌似android的应用程序进程都由zygote进程创建

子进程确实创建了,但是没有运行,占用的内存为0(VZS,RSS),处于僵尸状态。

Z :该程序应该已经终止,但是其父程序却无法正常的终止他,造成 zombie (疆尸) 程序的状态

说明android应该不支持在JNI的native方法中创建进程,因为一个进程应该运行在一个虚拟机上,在这里如何能实现虚拟机的机制。

最新文章

  1. centos安装tmux过程
  2. Guava 集合框架
  3. HiKey连接
  4. 简单几何(圆与多边形公共面积) UVALive 7072 Signal Interference (14广州D)
  5. Cocoa Foundation框架学习笔记 - NSCalendar
  6. H264中的SPS、PPS提取与作用
  7. 利用代码改变世界 #AzureDev
  8. Django里面的RequestContext
  9. HFS - 简单的将个人电脑变服务器!
  10. ASP.NET利用byte检测上传图片安全
  11. Windows下NexusPHP搭建PT站过程
  12. Spring AOP高级——源码实现(1)动态代理技术
  13. VMware下设置Centos7联网与固定IP连接Xshell
  14. DML、DDL、DCL的区别
  15. 开源Spring解决方案--lm.solution
  16. MTU 最大传输单位
  17. JavaScript是如何工作的:深入类和继承内部原理 + Babel和TypeScript之间转换
  18. ES5-ES6-ES7_集合Set和Map
  19. Maven问题:Failure to transfer org.apache.maven
  20. js实现多行文本溢出省略

热门文章

  1. Poj(2135),MCMF,模板
  2. Ubuntu镜像使用帮助
  3. oracle 导出导入常见问题
  4. linux 切换多个jdk脚本
  5. Linux源代码分析工具链
  6. ubuntu su 密码
  7. R语言画图基础参数设置
  8. [HDOJ5543]Pick The Sticks(DP,01背包)
  9. 暴雪游戏-守望先锋-FPS
  10. CUBRID学习笔记 36 在net中添加多行记录