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命令查看

USERPID 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. 一款霸榜 GitHub 的开源 Linux 资源监视器!
  2. Android(安卓)wifi连接
  3. Android的RIL驱动模块telephony启动流程
  4. 【Android】进程通信IPC——Messenger
  5. 备忘---Android(安卓)Permission
  6. Android模块化编程——WebView使用之系统返回键设置
  7. Android(安卓)opencv人脸识别
  8. 在Android中获取系统正在运行的进程方法
  9. 如何使用好android的可访问性服务(Accessibility Services)

随机推荐

  1. Android(安卓)读取U盘或SD卡中的所有.txt
  2. 面试例题6:两种方法将图像显示在View上
  3. Android(安卓)消息机制 - Handler, Loope
  4. Android(安卓)UI(二)DridView的菜单
  5. Android创建自定义键盘
  6. android--创建快捷方式和判断是否已经创
  7. android触屏移动
  8. 查看Android(安卓)ADT Plugin版本的方法
  9. 开始使用Android和Kotlin
  10. ubuntu9.10安装android SDK