免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 7203 | 回复: 13
打印 上一主题 下一主题

如何在AIX上获取当前运行的程序的路径 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-05-15 15:42 |只看该作者 |倒序浏览
如在redhat上可以用readlink("/proc/self/exe",buf,sizeof(buf))得到当前运行的程序的路径,但AIX这样行不通,难道只能ps它的路径?
各位有没有好的办法,谢谢

论坛徽章:
0
2 [报告]
发表于 2011-05-15 16:36 |只看该作者
system("pwd"

论坛徽章:
0
3 [报告]
发表于 2011-05-15 16:39 |只看该作者
本帖最后由 0xC1988 于 2011-05-15 16:41 编辑

  1. FILE *fp=NULL;
  2. fp=fopen("pwd","r");
  3. char buf[128];
  4. fscanf(fp,"%s",buf);
复制代码

论坛徽章:
0
4 [报告]
发表于 2011-05-15 19:20 |只看该作者
上面两位应该是误解我的意思了,PWD是显示当前的工作目录,而不是程序所在的目录

论坛徽章:
0
5 [报告]
发表于 2011-05-15 20:20 |只看该作者
那把三楼的改一下就可以了

  1. char cmd[128];
  2. sprintf(cmd,"whereis %s",argv[0]);
  3. fp=popen(cmd,"r");
复制代码

论坛徽章:
0
6 [报告]
发表于 2011-05-15 22:36 |只看该作者
whereis 只会找系统环境变量里面包括的目录

论坛徽章:
0
7 [报告]
发表于 2011-05-16 01:28 |只看该作者
whereis 只会找系统环境变量里面包括的目录
wheniwasyoung 发表于 2011-05-15 22:36


楼上的你有没有认真看?


argv[0]

论坛徽章:
0
8 [报告]
发表于 2011-05-16 08:39 |只看该作者
Linux:
/proc/<pid>/exe

Solaris:
/proc/<pid>/object/a.out (filename only)
/proc/<pid>/path/a.out (complete pathname)

*BSD (and maybe Darwing too):
/proc/<pid>/file


Aix上就用which好了,不知道还有没有其它办法

论坛徽章:
0
9 [报告]
发表于 2011-05-16 09:38 |只看该作者
楼上的你有没有认真看?


argv[0]
antonym55 发表于 2011-05-16 01:28



这位兄台,如果没有认真思考别人的问题,你最好还是保持沉默

论坛徽章:
0
10 [报告]
发表于 2011-05-16 09:58 |只看该作者
Linux:
/proc//exe

Solaris:
/proc//object/a.out (filename only)
/proc//path/a.out (complete pat ...
雨过白鹭洲 发表于 2011-05-16 08:39


比如运行程序
/home/xy/myexe/a.out

which a.out?这样不行的
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP