服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C/C++ - linux c 获得当前进程的进程名和执行路径(示例)

linux c 获得当前进程的进程名和执行路径(示例)

2020-12-18 14:41C语言教程网 C/C++

如何得到当前进程的进程名和执行路径。写了个C程序分享一下

复制代码 代码如下:


[sam@hzhsan test]$ more test_processname.cpp
#include <limits.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>

 

size_t get_executable_path( char* processdir,char* processname, size_t len)
{
        char* path_end;
        if(readlink("/proc/self/exe", processdir,len) <=0)
                return -1;
        path_end = strrchr(processdir,  '/');
        if(path_end == NULL)
                return -1;
        ++path_end;
        strcpy(processname, path_end);
        *path_end = '\0';
        return (size_t)(path_end - processdir);
}
int main()
{
        char path[PATH_MAX];
        char processname[1024];
        get_executable_path(path, processname, sizeof(path));
        printf("directory:%s\nprocessname:%s\n",path,processname);
}
[sam@hzhsan test]$

延伸 · 阅读

精彩推荐