linux 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 = '';
return (size_t)(path_end - processdir);
}
int main()
{
char path[PATH_MAX];
char processname[1024];
get_executable_path(path, processname, sizeof(path));
printf("directory:%snprocessname:%sn",path,processname);
}
[sam@hzhsan test]$

(0)

相关推荐

  • 在linux系统下让进程在后台运行的方法

    在Linux中,如果要让进程在后台运行,一般情况下,我们在命令后面加上&即可,实际上,这样是将命令放入到一个作业队列中了: $ ./test.sh & [1] 17208 $ jobs ...

  • linux环境下一个进程最多能有多少个线程

    以下是对在linux环境下一个进程最多能有多少个线程进行了介绍,需要的朋友可以过来参考下 默认情况下: 主线程+辅助线程 +<253个自己的线程<=255 含主线程和一个辅助线程,最多25 ...

  • Win7任务管理器如何显示映像路径即进程所对应的文件路径和参数

    Windows操作系统中的任务管理器为用户提供了有关计算机性能的信息并显示了计算机所运行的程序和进程的详细信息,还可以查看内存等占用情况,不过一般在任务管理器中是看不到进程所对应的文件路径和参数的,那 ...

  • Linux中Kill掉进程的10种方法

    常规篇: 首先,用ps查看进程,方法如下: 代码如下: $ ps -ef -- smx 1822 1 0 11:38 ? 00:00:49 gnome-terminal smx 1823 1822 0 ...

  • Linux系统下用户进程死循环问题解决方法

    在进行Linux系统操作的时候,有时候会遇到一次用户态进程死循环,即系统反应迟钝、进程挂死等问题,那么遇到这些问题又该如何解决呢?下面小编就给大家介绍下一次用户态进程死循环的问题该如何处理。 1、问题 ...

  • 深入解析Linux系统下的进程切换

    Linux内核下进程切换 Linux切换并没有使用X86CPU的切换方法,Linux切换的实质就是cr3切换(内存空间切换,在switch_mm函数中)+ 寄存器切换(包括EIP,ESP等,均在swi ...

  • Linux系统中的进程管理工具SystemD介绍

    SystemD是Linux下的一种init软件,由Lennart Poettering带头开发,并在LGPL 2.1及其后续版本许可证下开源发布.Lennart是redhat员工,但SystemD不是 ...

  • 总结Linux中用于终结进程的kill和pikill及killall命令用法

    kill kill 命令:发送指定的信号到相应进程.不指定信号将发送SIGTERM(15)终止指定进程.若仍无法终止该程序可用"-KILL" 参数,其发送的信号为SIGKILL(9 ...

  • 详解Linux系统中的进程初始化配置文件inittab

    /etc/inittab文件描述了哪些进程开始启动并正常运行.inittab为linux初始化文件系统时init初始化程序用到的配置文件.这个文件负责设置init初始化程序初始化脚本在哪里;每个运行级 ...