https://bbs.huaweicloud.com/blogs/378148

修改进程名称

https://www.bilibili.com/read/cv23000681/

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/prctl.h>

int main(int argc, char *argv[]) {
    // 获取当前进程的进程ID
    pid_t pid = getpid();

    // 将 argv[0] 赋值给 arg0
    char *arg0 = argv[0];

    // 修改进程名字为 argv[0]
    prctl(PR_SET_NAME, arg0, 0, 0, 0);

    // 输出修改后的进程名字
    char name[17]; // 进程名字最长为 16 个字符
    if (prctl(PR_GET_NAME, name) == 0) {
        printf("进程名字已修改为:%s\n", name);
    }

    // 程序其余部分
    // ...

    return 0;
}

同样的代码,在linux里ps -e 就可以显示改过的进程名,但是android平台,需要ps -eT(加线程参数)才能显示改过的进程名。


0 条评论

发表回复

您的电子邮箱地址不会被公开。