3

Can I change the current working directory of a certain process?

For example, I am running a process that has the pid 1000. Right now, its current working directory is ~. I want to change its current working directory to ~/1. How can I do it?

5

You can use the following script (found here)

#!/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

Call it by passing the PID as the first parameter and the target working directory as the second.

Caveats: This may have unexpected consequences on the target process, including files being closed, and misleading information provided in shell prompts for example.

You also need gdb installed (obviously).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.