linuxc获得当前进程的进程名和执行路径(示例)
2023-06-13 09:15:03 时间
[sam@hzhsantest]$moretest_processname.cpp
#include<limits.h>
#include<stdio.h>
#include<string.h>
#include<unistd.h>
size_tget_executable_path(char*processdir,char*processname,size_tlen)
{
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);
}
intmain()
{
charpath[PATH_MAX];
charprocessname[1024];
get_executable_path(path,processname,sizeof(path));
printf("directory:%s\nprocessname:%s\n",path,processname);
}
[sam@hzhsantest]$
相关文章
- 提升进程权限函数OpenProcessToken 及相关函数详解
- 从计组角度去看如何优化指令执行流程及线程进程区别
- 你的新进程是如何被内核调度执行到的?
- eBPF 入门开发实践指南四:在 eBPF 中捕获进程打开文件的系统调用集合,使用全局变量过滤进程 pid
- 【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 获取 linker 中的 dlopen 函数地址 并 通过 远程调用 执行该函数 )
- 【Linux 内核】实时调度类 ⑥ ( 实时调度类核心函数源码分析 | 插入进程到执行队列 | 从执行队列中选择优先级最高的进程 )
- 【Linux 内核】实时调度类 ⑦ ( 实时调度类核心函数源码分析 | dequeue_task_rt 函数 | 从执行队列中移除进程 )
- linux进程的概念和属性
- Linux基础:Flink容错机制之作业执行和守护进程
- SQLServer 错误 30089 全文筛选器后台程序宿主(FDHost)进程已异常停止。 如果在执行全文检索或查询处理期间配置错误或工作不正常的语言组件(如断字器、词干分析器或筛选器)造成了无法恢复的错误,则会出现这种情况。 该进程将自动重新启动。 故障 处理 修复 支持远程
- [android] 安卓进程优先级&为什么使用服务详解手机开发
- Java 启动并执行外部进程 Runtime详解编程语言
- crontab的秒执行和串行化和多进程实现详解编程语言
- Linux删除进程:实现更简单的操作(linux删进程)
- 发展Linux分支发展的进程:追求新技术的奋斗史(linux的分支)
- Linux下的强制结束进程命令(结束进程命令linux)
- Linux系统进程数上限:最高能达多少?(linux系统最大进程数)
- 探讨:Oracle数据库查看一个进程是如何执行相关的实际SQL语句
- 单台服务器的PHP进程之间实现共享内存的方法