如果我有一个可执行文件/usr/bin
并在我位于~/dev/wikis/
(即user@HAL:~/dev/wikis$ the_executable
)时调用它,可执行文件中的ioutil.ReadFile("file.txt")
函数将查找/home/user/dev/wikis/file.txt
,但是否可以/usr/bin/file.txt
在用户或开发人员事先不知道可执行文件的情况下使其查找位于/usr/bin
(也可以位于/home/user/dev/my_program/the_executable
)?
然后添加了一层复杂性,另一种情况,说我把从可执行符号链接在/usr/bin
与可执行文件实际上是的“来源” /home/user/dev/my_program/the_executable
,我想程序知道/home/user/dev/my_program/
在这种情况下,动态的,而不是/usr/bin
.
简而言之:可执行文件如何动态解析其在文件系统上的位置或其实际“休息位置”与用户的工作目录(可以很容易地通过os.Getwd()
以及ioutil.ReadFile
使用其他命令或使用类似的东西来解析路径) )。
我最好的办法是我必须获得正在运行的程序 ( os.Getpid
)的 PID,然后以某种方式使用该整数来访问有关在该 PID 下运行的程序实例的信息,希望该信息包含其目录的字符串,我可以然后使用。
ibeautiful
慕妹3146593
HUX布斯
相关分类