linux保存当前的进程到文件路径,Linux:获取当前进程的执行文件的绝对路径

摘要:本文介绍Linux的应用程序和内核模块获取当前进程执行文件绝对路径的实现方法。

注意:使用此方法时,如果执行一个指向执行文件的链接文件,则获得的不是链接文件的绝对路径,而是执行文件的绝对路径。

应用程序的实现方法

#include

#include

int main( )

{

char link[100];

char path[100];

sprintf( link, "/proc/%d/exe", getpid() );

int i = readlink( link, path, sizeof( path ) );

path[i] = '\0';

printf( "%s : %d\n", path, getpid() );

return 0;

}

内核模块的实现方法

#include

#include

char *ptr;

char link[100], buf[256];

struct path path;

sprintf( link, "/proc/%d/exe", current->pid );

int err = kern_path( link, LOOKUP_FOLLOW, &path );

if ( !err )

{

ptr = d_path( &path, buf, 256 );

if ( !IS_ERR( ptr ) )

{

// prt contains real path

}

path_put( &path );

}

android开发如何获取res/raw和assets文件夹的路径

---恢复内容开始--- android开发如何获取res/raw和assets文件夹的路径,主要分为两种情况: 1.如果你只是拷贝动作,那么你只需要得到res/raw和assets文件输入流就可以, ...

C#如何获取项目中的其他文件夹的路径

//一般用string p=AppDomain.CurrentDomain.BaseDirectory+"\\其他"; //其它的还有 string str1 =Process.G ...

linux中根据进程的PID值来查找执行文件的及其路径

lsof -p PID http://blog.csdn.net/great_smile/article/details/50114133

linux获取精准进程PID之pgrep命令

pgrep 是通过程序的名字来查询进程的工具,一般是用来判断程序是否正在运行.在服务器的配置和管理中,这个工具常被应用,简单明了. 用法: #pgrep [选项] [程序名] pgrep [-flvx ...

linux lsof 查看进程打开那些文件 或者 查看文件给那个进程使用

lsof命令是什么? 可以列出被进程所打开的文件的信息.被打开的文件可以是 1.普通的文件,2.目录  3.网络文件系统的文件,4.字符设备文件  5.(函数)共享库  6.管道,命名管道 7.符号链 ...

Linux 获取目录中最后一个文件的名字

find /application/docker_hub/logs/fof1private/amount_dev -type l | xargs basename

获取Java class或者jar文件的本地路径

对于常规java class打成jar文件后,要获取它的本地路径,可以用如下方法. final File f = new File(TestClass.class.getProtectionDomai ...

Linux如何查看进程、杀死进程、启动进程等常用命令

Linux如何查看进程.杀死进程.启动进程等常用命令 关键字: linux 查进程.杀进程.起进程1.查进程    ps命令查找与进程相关的PID号:    ps a 显示现行终端机下的所有程序,包括 ...

Linux如何查看进程等常用命令

1.查进程    ps命令查找与进程相关的PID号:    ps a 显示现行终端机下的所有程序,包括其他用户的程序.    ps -A 显示所有程序.    ps c 列出程序时,显示每个程序真正的 ...

随机推荐

iOS AppIcon尺寸和上传ITunes构建版本尺寸

避免忘记. 记录一下 App Icon: 29X2940X4058X5876X7687X8780X80120X120152X152167X167180X180 ITunes构建版本: 1242 x 2 ...

Java作业 输入圆的半径计算输出圆的周长和面积

package text1; import java.util.Scanner; public class text11 { public static void main(String[] args ...

介绍一个python的新的web framework——karloop框架

karloop是一款轻型的web framework,和tornado.webpy类似.mvc分层设计,眼下已经公布早期版本号了,使用方便, 下载地址例如以下:https://github.com/k ...

Webpack 入门教程

Webpack 是一个前端资源加载/打包工具.它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源. 本章节基于 Webpack3.0 测试通过. 从图中我们可以看出,W ...

20145319 《计算机病毒》动态分析lab3-2

20145319 动态分析lab3-2(实践六) 实践过程 基础分析 拿到恶意代码时,首先使用PE ID打开,查看其中一些基础信息以及观察该恶意代码是否加壳,来确定下一步分析 ...

Python应用场景 (转)

Web应用开发 Python经常被用于Web开发.比如,通过mod_wsgi模块,Apache可以运行用Python编写的Web程序.Python定义了WSGI标准应用接口来协调Http服务器与基于P ...

iOS runtime执行时具体解释

什么是runtime? runtime直译就是执行时间,run(跑,执行) time(时间),网上大家都叫它执行时,它是一套比較底层的纯C语言API,属于一个C语言库,包括了非常多底层的C语言API, ...

rman中 Backup Set 与 Image Copy 优缺点比较

Backup Set: 一个备份集中可以包含多个数据文件,存储High Water Mark 下的数据块,并且可以采用压缩方式进行,故大小要小于原始数据文件的大小.restore与 recover的开 ...

在ASP.NET Core的startup类中如何使用MemoryCache

问: 下面的代码,在ASP.NET Core的startup类中创建了一个MemoryCache并且存储了三个键值“entryA”,“entryB”,“entryC”,之后想在Controller中再 ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值