프로세스의 현재 작업 디렉토리에 해당하는 마운트 지점을 찾는 방법은 무엇입니까?

rools

/ tmp / test 에서 실행중인 a.out 프로그램이 있습니다 . 내가 나열 하면 / tmp / test에 대한 심볼릭 링크 입니다./proc/$(pgrep a.out)/cwd

지금, 나는 바인딩 을 / mnt / othertest 위에 / tmp를 / 테스트mount -o bind /mnt/othertest /tmp/test. 따라서이 새 마운트는 스택되고 이전 / tmp / test 는 숨겨집니다.

그래도 a.out 은 mount 명령 전에 시작 되었으므로 이전 경로에 액세스 할 수 있습니다.

내가 다루고 싶은 문제는 cwd/ tmp / test로 설정된 프로세스가 / mnt / othertest 의 디렉토리를 참조 하는지 여부를 아는 방법 입니다.

열린 파일의 경우 proc pseudo-filesyste 에서 fdinfo사용 하고 마운트 ID를 읽을 수 있지만 cwd에 대한 정보를 찾지 못했습니다 . 프로세스의 시작 시간을 확인하고 마운트가 시작된 시간과 비교할 수 있지만 가능한 포크 때문에 잘못 될 수 있습니다.

이끼

전화 stat(2)/proc/PID/cwd다른 디렉토리에와별로 비교 device:inode튜플.

예 ( -L스위치를 지정하지 않으면 stat(1)유틸리티가 a lstat(2)대신 시스템 호출 을 수행합니다 stat(2).)

$ mkdir -p /tmp/foo /tmp/bar /tmp/baz
$ cd /tmp/foo
$ echo $$
20890

# mount -B /tmp/bar /tmp/foo
# stat -Lc %d:%i /proc/20890/cwd
2055:1835959

# stat -Lc %d:%i "$(readlink /proc/20890/cwd)" /tmp/foo /tmp/bar
2055:1843068
2055:1843068
2055:1843068

# umount /tmp/foo
# stat -Lc %d:%i /tmp/foo
2055:1835959

그냥 아래의 파일처럼 /proc/PID/fd, /proc/PID/cwd진짜 심볼릭 링크 아니다 -는 open(2), stat(2), 등의 목표를 수행하지만 참조하는 실제 객체에 직접 작용하지 않습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Bash : 현재 작업 디렉토리를 루프에서 현재 디렉토리로 설정하는 방법은 무엇입니까?

분류에서Dev

Linux에서 마지막으로 업데이트 된 디렉토리를 찾는 방법은 무엇입니까?

분류에서Dev

마지막 커밋으로 체크 아웃하고 현재 작업 디렉토리를 삭제하는 방법은 무엇입니까?

분류에서Dev

디렉토리가 현재 작업 디렉토리가 아닌 경우 디렉토리가 git 작업 트리에 있는지 확인하는 방법은 무엇입니까?

분류에서Dev

eCryptFS : 암호화 된 홈 디렉토리의 백업을 마운트하는 방법은 무엇입니까?

분류에서Dev

쉘 스크립트를 통해 현재 디렉토리를 변경하고 거기에서 명령을 실행하는 방법은 무엇입니까?

분류에서Dev

현재 디렉토리 내의 모든 디렉토리에 대한 권한을 재귀 적으로 변경하는 방법은 무엇입니까?

분류에서Dev

점으로 시작하는 현재 디렉토리의 모든 파일을 삭제하는 방법은 무엇입니까?

분류에서Dev

Git에서 현재 작업 디렉토리를 변경하는 방법은 무엇입니까?

분류에서Dev

tmux의 현재 디렉토리에 새 창을 만드는 방법은 무엇입니까?

분류에서Dev

tmux의 현재 디렉토리에 새 창을 만드는 방법은 무엇입니까?

분류에서Dev

파일을 찾고 현재 작업 디렉토리 (cd)로 만드는 방법

분류에서Dev

경로 이름 대신 현재 작업 디렉터리 (현재 작업 폴더) 이름을 얻는 방법은 무엇입니까?

분류에서Dev

Groovy를 사용하여 현재 디렉토리에서 .zip 파일을 찾는 방법은 무엇입니까?

분류에서Dev

Kotlin에서 현재 작업 디렉토리를 얻는 방법은 무엇입니까?

분류에서Dev

Google colab의 현재 디렉토리 폴더로 github 저장소를 마운트하는 방법은 무엇입니까?

분류에서Dev

터미널 프롬프트를 현재 디렉토리로 변경하는 방법은 무엇입니까?

분류에서Dev

WSL 셸의 현재 작업 디렉터리에서 Windows 탐색기를 여는 방법은 무엇입니까?

분류에서Dev

각 하위 디렉토리의 파일 이름을 해당 하위 디렉토리의 텍스트 파일로 수집하는 방법은 무엇입니까?

분류에서Dev

내부 압축 파일을 Java의 작업 디렉토리에 복사하는 방법은 무엇입니까?

분류에서Dev

현재 작업 디렉토리가 아닌 다른 디렉토리에서 fzf를 시작하는 방법은 무엇입니까?

분류에서Dev

현재 디렉터리에있는 모든 하위 디렉터리의 마지막 수준으로 이동하는 방법은 무엇입니까?

분류에서Dev

디렉토리에 저장된 양을 재귀 적으로 찾는 방법은 무엇입니까?

분류에서Dev

디렉토리의 마지막 폴더에 액세스하는 방법은 무엇입니까?

분류에서Dev

현재 디렉토리에 파일을 압축 해제하는 방법은 무엇입니까?

분류에서Dev

현재 디렉토리에 파일을 압축 해제하는 방법은 무엇입니까?

분류에서Dev

호스트 디렉토리를 컨테이너 볼륨에 마운트하는 방법은 무엇입니까?

분류에서Dev

파일 시스템을 기존 (비어 있지 않은) 디렉토리에 마운트하는 방법은 무엇입니까?

분류에서Dev

glob 패턴을 제외하고 디렉토리 내에서 재귀 적으로 파일 수 (디렉토리 아님)를 찾는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    Bash : 현재 작업 디렉토리를 루프에서 현재 디렉토리로 설정하는 방법은 무엇입니까?

  2. 2

    Linux에서 마지막으로 업데이트 된 디렉토리를 찾는 방법은 무엇입니까?

  3. 3

    마지막 커밋으로 체크 아웃하고 현재 작업 디렉토리를 삭제하는 방법은 무엇입니까?

  4. 4

    디렉토리가 현재 작업 디렉토리가 아닌 경우 디렉토리가 git 작업 트리에 있는지 확인하는 방법은 무엇입니까?

  5. 5

    eCryptFS : 암호화 된 홈 디렉토리의 백업을 마운트하는 방법은 무엇입니까?

  6. 6

    쉘 스크립트를 통해 현재 디렉토리를 변경하고 거기에서 명령을 실행하는 방법은 무엇입니까?

  7. 7

    현재 디렉토리 내의 모든 디렉토리에 대한 권한을 재귀 적으로 변경하는 방법은 무엇입니까?

  8. 8

    점으로 시작하는 현재 디렉토리의 모든 파일을 삭제하는 방법은 무엇입니까?

  9. 9

    Git에서 현재 작업 디렉토리를 변경하는 방법은 무엇입니까?

  10. 10

    tmux의 현재 디렉토리에 새 창을 만드는 방법은 무엇입니까?

  11. 11

    tmux의 현재 디렉토리에 새 창을 만드는 방법은 무엇입니까?

  12. 12

    파일을 찾고 현재 작업 디렉토리 (cd)로 만드는 방법

  13. 13

    경로 이름 대신 현재 작업 디렉터리 (현재 작업 폴더) 이름을 얻는 방법은 무엇입니까?

  14. 14

    Groovy를 사용하여 현재 디렉토리에서 .zip 파일을 찾는 방법은 무엇입니까?

  15. 15

    Kotlin에서 현재 작업 디렉토리를 얻는 방법은 무엇입니까?

  16. 16

    Google colab의 현재 디렉토리 폴더로 github 저장소를 마운트하는 방법은 무엇입니까?

  17. 17

    터미널 프롬프트를 현재 디렉토리로 변경하는 방법은 무엇입니까?

  18. 18

    WSL 셸의 현재 작업 디렉터리에서 Windows 탐색기를 여는 방법은 무엇입니까?

  19. 19

    각 하위 디렉토리의 파일 이름을 해당 하위 디렉토리의 텍스트 파일로 수집하는 방법은 무엇입니까?

  20. 20

    내부 압축 파일을 Java의 작업 디렉토리에 복사하는 방법은 무엇입니까?

  21. 21

    현재 작업 디렉토리가 아닌 다른 디렉토리에서 fzf를 시작하는 방법은 무엇입니까?

  22. 22

    현재 디렉터리에있는 모든 하위 디렉터리의 마지막 수준으로 이동하는 방법은 무엇입니까?

  23. 23

    디렉토리에 저장된 양을 재귀 적으로 찾는 방법은 무엇입니까?

  24. 24

    디렉토리의 마지막 폴더에 액세스하는 방법은 무엇입니까?

  25. 25

    현재 디렉토리에 파일을 압축 해제하는 방법은 무엇입니까?

  26. 26

    현재 디렉토리에 파일을 압축 해제하는 방법은 무엇입니까?

  27. 27

    호스트 디렉토리를 컨테이너 볼륨에 마운트하는 방법은 무엇입니까?

  28. 28

    파일 시스템을 기존 (비어 있지 않은) 디렉토리에 마운트하는 방법은 무엇입니까?

  29. 29

    glob 패턴을 제외하고 디렉토리 내에서 재귀 적으로 파일 수 (디렉토리 아님)를 찾는 방법은 무엇입니까?

뜨겁다태그

보관