프로세스의 현재 작업 디렉터리를 변경할 수 있나요?
예를 들어, 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를 첫 번째 인수로 전달하고 대상 작업 디렉터리를 두 번째 인수로 전달하여 호출합니다.
참고: 이로 인해 파일이 닫히고 쉘 프롬프트에 잘못된 정보가 제공되는 등 대상 프로세스에 의도하지 않은 결과가 발생할 수 있습니다.
gdb
또한 (분명히) 설치 해야 합니다 .