![프로세스의 현재 작업 디렉터리 변경](https://linux55.com/image/88013/%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4%EC%9D%98%20%ED%98%84%EC%9E%AC%20%EC%9E%91%EC%97%85%20%EB%94%94%EB%A0%89%ED%84%B0%EB%A6%AC%20%EB%B3%80%EA%B2%BD.png)
프로세스의 현재 작업 디렉터리를 변경할 수 있나요?
예를 들어, 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
또한 (분명히) 설치 해야 합니다 .