Mr4*_*ke4 1 android android-ndk
如何在Android NDK中获取我的进程的ID(PID)?
jclass proc_Cls = env->FindClass("android/os/Process");
jmethodID proc_id = env->GetMethodID(proc_Cls, "myPid", "()I");
jint prcId = env->CallIntMethod(proc_Cls, proc_id);
Run Code Online (Sandbox Code Playgroud)
此代码不起作用。
由于进程ID是操作系统级别的标识符,因此在C或C ++中从操作系统中发现它比尝试通过“反向” JNI从Android堆栈中获得它更有意义。
用于获取进程ID的posix函数为
pid_t getpid(void);
Run Code Online (Sandbox Code Playgroud)
要使用它,您必须先
#include <sys/types.h>
#include <unistd.h>
Run Code Online (Sandbox Code Playgroud)
由于它是posix函数,因此它不仅应在Linux内核之上运行,而且还应在可能移植到Android上运行的任何事物之上运行。如果存在可移植性问题,那就是想知道PID /认为有意义。
归档时间: |
|
查看次数: |
3888 次 |
最近记录: |