【发布时间】:2011-06-24 06:07:48
【问题描述】:
在我们的应用程序中,我们调用getcwd(3) 来获取当前工作目录。
当进程开始运行时,如果有人删除目录路径,则进程正在运行但getcwd API 失败(返回NULL)。
示例:
进程名称是:a.exe 存在于/root/appl/a.exe
运行a.exe后,如果当前工作目录被删除,getcwd(3) api会失败。
getcwd(3) 是否有任何替代 API 可以知道进程的当前工作目录,即使目录路径已删除?
【问题讨论】:
-
如果目录已被删除,会返回什么?如果您将某些东西作为守护进程运行,那么您可能应该立即
chdir("/");。 -
应用程序是通过创建一个临时目录来部署的,在 appln 开始运行后临时文件夹将被删除......因此 getcwd 调用失败......我需要知道是否有任何其他方式来了解进程的本地目录...[适用于linux系统]
-
当您处于未链接目录中时,您希望/期望得到什么?它没有路径名!
标签: c linux api system-calls getcwd