我正在 linux 上以 root 身份从 tmp 目录(解压后)运行一个进程。由于某种原因,该进程会记住该目录,当删除该目录时,我会收到错误
shell init: error retrieving current directory: getcwd: cannot access parent directories: no such file or directory.
** ERROR **: Resource problem creating '/tmp/app-selfextract.6bxSKU/orbit-root'
在激活该进程之前,我尝试过 cd 到另一个目录,但没有帮助。
谢谢!
最佳答案
您进程的当前工作目录是您要删除的目录。删除此目录后,进程将无法再找到有关它的信息(它甚至无法说出该目录的父目录是什么)。
您说您在开始该过程之前尝试更改当前目录。这很好,但进程本身可能会由于某种原因更改为目录。很难说,是否真的如此,对这个过程以及如何开始它一无所知。
您可以尝试检查进程是否确实将该目录作为当前目录
使用/proc
:
$ ls -l /proc/24889/cwd
lrwxrwxrwx 1 igor igor 0 Jun 25 20:26 /proc/24889/cwd -> /tmp/so
(在您的情况下,您必须写入进程的 pid 而不是 24889)。
关于linux - 当在 linux 上以 root 身份从 tmp 目录运行进程时,进程会记住 dir,并在删除 dir 时导致错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11189470/