我可以更改某个进程的当前工作目录吗?
例如,我正在运行一个 pid 1000 的进程。现在,它的当前工作目录是~
.我想将其当前工作目录更改为~/1
.我该怎么做?
答案1
您可以使用以下脚本(在这里找到)
#!/bin/bash
pid="$1" # first arguvment is the PID
cwd="$2" # second argument is the target working directory
# now let's command the GNU debugger
gdb -q <<EOF
attach $pid
call (int) chdir("$cwd")
detach
quit
EOF
通过传递 PID 作为第一个参数和目标工作目录作为第二个参数来调用它。
注意事项:这可能会对目标进程产生意想不到的后果,包括文件被关闭,以及 shell 提示中提供的误导性信息等。
您还需要gdb
安装(显然)。