`
jgsj
  • 浏览: 961303 次
文章分类
社区版块
存档分类
最新评论

Linux中获取当前程序路径的方法

 
阅读更多

1、命令行实现:转自:http://www.linuxdiyf.com/viewarticle.php?id=84177

#!/bin/sh

cur_dir=$(pwd)

echo $cur_dir

注意:在cur_dir后没空格,=后面也不能有空格,不然它会认为空格不是路径而报错

2、程序实现:转自:http://topic.csdn.net/u/20071217/13/78e81ffa-b30c-4685-a58a-2eb5e181b825.html

#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>

int getpath(char *buf)
{
long size;
char *ptr;
size = pathconf(".",_PC_PATH_MAX);
if((ptr = (char*)malloc((size_t)size)) != NULL)
{
memset(ptr,0,size);
sprintf(ptr,"/proc/%d/exe",getpid());
}

else

return -1;


return readlink(ptr,buf,size);
}


int main()
{
char buf[128];
getpath(buf);
printf("%s\n",buf);
}

转自:http://hi.baidu.com/jrckkyy/blog/item/6f74ebee3b4768e3b3fb9542.html

http://hi.baidu.com/xlt1888/blog/item/0958fd86668b73cc9123d99f.html

#include <unistd.h>
#include <stdio.h>

int main(int argc , char* argv[])
{
char buf[1024] = { 0 };
int n=0;

n =readlink("/proc/self/exe" , buf , sizeof(buf));
if( n > 0 && n < (int)sizeof(buf))
{

Buf[n]= ‘\0’;
printf("%s\n", buf);
}
}

还可以利用getcwd函数来实现。

分享到:
评论

相关推荐

    Java获取Tomcat下war包部署的Web工程根目录路径的方法

    开发web工程时经常要获取工程的根目录,自己用Java实现的获取Tomcat下war包部署的Web工程根目录路径的方法,主要利用web工程默认的目录结构,此外也可以指定工程名称获取工程目录的绝对路径

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

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

    c语言获取当前工作路径的实现代码(windows/linux)

    主要介绍了c语言获取当前工作路径的实现代码(windows/linux),需要的朋友可以参考下

    linux大作业报告

    getcwd()会将当前工作目录的绝对路径复制到参数buffer所指的内存空间中,参数size为buf的空间大小。 12、编写程序,编写shell命令中的cp命令。 13、编写Shell命令中的cat命令。 14、编写Shell命令中的tail命令。(用...

    Shell中获取脚本所在目录绝对路径的方法

    而在 linux shell 脚本里面如果想得到当前脚本文件存放的绝对路径,也没有太现成的命令可以调用,不过可以通过下面的语句来获取: 代码如下: baseDirForScriptSelf=$(cd “$(dirname “$0″)”; pwd) echo “full ...

    LINUX安装与配置简明手册

    5.2.24 在path语句说明的路径中查找 文件 62 5.2.25 在path语句中添加新路径 63 5.2.26 在文件内容中查找文本 63 5.2.27 寻求帮助 63 5.2.28 在后台运行命令程序 63 5.2.29 确定当前运行的命令 63 5.2.30 把命令程序...

    linux安装与配置简明手册

    5.2.24 在path语句说明的路径中查找 文件 62 5.2.25 在path语句中添加新路径 63 5.2.26 在文件内容中查找文本 63 5.2.27 寻求帮助 63 5.2.28 在后台运行命令程序 63 5.2.29 确定当前运行的命令 63 5.2.30 把...

    Linux FTP服务配置

    vsftp的含义就是Very Security Ftp,下面就简要的说一下它的配置和使用方法,通过本文的介绍也希望您能了解在Linux下配置一个网络服务的基本过程  1.相关配置文件  /etc/vsftpd.conf,vsftpd.ftpuser,vsftpd.user_...

    linux进程监控和进程守护程序

    获取程序列表2启动进程3.监控进程,若程序岀或崩溃,重新启动程序4.收到退 出信号,安全结束监控程序 成功返回1,失败返回0 零牢容容家容字家容容察*禁容容字哮零常字容容容家察容牢容零容容容容容牢字家客字容牢容零容*...

    linux复习题

    (3)已知管理员用户在/R目录中,分别用绝对路径和相对路径方式写出将目录/R/C/T3/S0中的文件复制到/R/D/T5目录中的方法。 cp /R/C/T3/S0 /R/D/T5 cp /C/T3/S0 /D/T5 2、设计一个shell程序计算n的阶乘。要求: (1) 从...

    Meteor-root:[服务器]:comet:获取当前正在运行Meteor应用程序的服务器上的路径

    流星根路径获取服务器上当前正在运行的Meteor应用程序实例的路径。 特征: :nerd_face: 与Windows,Linux和MacOS环境的兼容性; :man::laptop: 全局可用的Meteor.rootPath programs/server目录的绝对路径; :man::...

    入门学习Linux常用必会60个命令实例详解doc/txt

    该命令包括了将带有当前工作目录当作该光盘中的目录的终端窗口。 chsh 1.作用 chsh命令的作用是更改使用者shell设定,它的使用权限是所有使用者。 2.格式 chsh [ -s ] [ -list] [ --help ] [ -v ] [ ...

    JavaDirPath:返回当前目录路径

    目录路径获取它所在的当前目录路径,目的是用作处理 .jar 文件之外的项目文件和文件夹或与应用程序类一起使用的基本路径,而不管操作系统如何。 无论是否在 .jar 文件中执行,它都旨在跨平台并独立运行。 目前测试的...

    Linux操作系统基础教程

    在这一讲中,我们主要是了解一下 Linux 的概况,以及对 Linux 有一个初步的感性认识。 一.什么是Linux? Linux 是一个以 Intel 系列 CPU(CYRIX,AMD 的 CPU也可以)为硬件平台,完全免费的 UNIX 兼容系统,完全...

    c++通用库针对不同平台封装(win)

    //获取当前程序的路径 void getCurrencyPath(char* path); //获取当前程序的路径 std::string getCurrencyPath(); //获取当前程序的路径 std::wstring getCurrencyPathW(); //输出日志 void Log(std::...

    cmd操作命令和linux命令大全收集

    它在 Windows NT/2000/XP 中均可使用,但在 Windows 98 中却没有集成这一个工具。 4. explorer-------打开资源管理器 5. logoff---------注销命令 6. shutdown-------60秒倒计时关机命令 7. lusrmgr.msc----本机...

    易语言程序免安装版下载

    “库文件名”以.lib或.obj为后缀的将被视为静态库,可使用绝对路径或相对路径(相对当前源代码所在目录),如依赖多个静态库请分别列出并以逗号分隔;“在库中的对应命令名”请务必准确填写静态库中公开导出的符号...

    multipath-tools-pre2021:Linux 多路径工具的旧(2021 年之前)SUSESLES 分支。 有关当前代码,请参阅 github.comopenSUSEmultipath-tools

    适用于 Linux 的多路径工具 此软件包提供以下二进制文件来驱动 Device Mapper 多路径驱动程序: multipath - 设备映射器目标自动配置。 multipathd - 多路径守护进程。 mpathpersist - 管理 dm 多路径设备上的 SCSI ...

Global site tag (gtag.js) - Google Analytics