lsof - 디버그 출력 정보

lsof - 디버그 출력 정보

이 웹사이트를 탐색하는 데 문제가 있습니다. 존재하다이것특별한 문제는 lsof 명령이 특정 사용자에 대해 열려 있는 파일을 나열하는 데 사용되는 것을 보았습니다. 터미널에서 다음 명령을 실행했습니다.

lsof -a -u root -d txt

매우 긴 출력이 표시되는데 이는 (적어도 나에게는) 전혀 관련이 없습니다. 생성된 출력을 이해하기가 어렵습니다. 이것은

mapping-d  3992 root txt       REG    8,5    29728 7169187 /usr/libexec/mapping-daemon
clock-app  4005 root txt       REG    8,5    88048 7169216 /usr/libexec/clock-applet
mixer_app  4007 root txt       REG    8,5    53484 7169197 /usr/libexec/mixer_applet2
gnome-scr  4078 root txt       REG    8,5   168628 1337742 /usr/bin/gnome-screensaver
notificat  4081 root txt       REG    8,5    34732 1324168 /usr/libexec/notification-daemon
gnome-ter  4219 root txt       REG    8,5   309400 1318348 /usr/bin/gnome-terminal
gnome-pty  4221 root txt       REG    8,5    12384 1899888 /usr/lib/vte/gnome-pty-helper
bash       4222 root txt       REG    8,5   735932  196459 /bin/bash
firefox   15551 root txt       REG    8,5   121288 2424613 /usr/lib/firefox/firefox
npviewer. 15790 root txt       REG    8,5   174364 1996912 /usr/lib/nspluginwrapper/npviewer.bin
bash      15908 root txt       REG    8,5   735932  196459 /bin/bash
lsof      16014 root txt       REG    8,5   129820 1323233 /usr/sbin/lsof
lsof      16015 root txt       REG    8,5   129820 1323233 /usr/sbin/lsof

내가 오픈하면 기대돼txt파일은뿌리사용자, 실행하면 해당 파일에 대한 정보만 표시됩니다.라소프주문하다. 누군가 이 명령이 실제로 생성하는 출력을 이해하도록 도와줄 수 있습니까?

답변1

출력은 열로 구성됩니다. 나중에 볼 수 있도록 이 출력을 파일에 저장하려면 다음을 수행하십시오.

$ lsof -a -u root -d txt > somefile.txt

이 열은 바로 상단에 있습니다.

COMMAND     PID USER  FD      TYPE DEVICE SIZE/OFF    NODE NAME

열 설명

열은 다음과 같습니다.

COMMAND     PID USER  FD      TYPE DEVICE SIZE/OFF    NODE NAME
mapping-d  3992 root txt       REG    8,5    29728 7169187 /usr/libexec/mapping-daemon
clock-app  4005 root txt       REG    8,5    88048 7169216 /usr/libexec/clock-applet
mixer_app  4007 root txt       REG    8,5    53484 7169197 /usr/libexec/mixer_applet2
  • 주문하다- 해당 파일을 사용하고 있는 실행 파일의 이름입니다.

  • PID- 실행 파일의 프로세스 ID인 프로세스 ID입니다. 명령의 출력에서도 이러한 내용을 볼 수 있습니다 ps.

  • 사용자- 이 프로세스가 소유한 사용자 ID입니다.

  • FD- 파일 설명자. 텍스트 파일 설명자( )만 사용하도록 지정했으므로 이 열에는 해당 내용 -d txt만 표시되어야 합니다 . "txt 프로그램 텍스트(코드 및 데이터)"에 대한 매뉴얼 페이지 txt에서lsof

  • 유형- 파일과 관련된 노드 유형을 나타냅니다. 매뉴얼 페이지를 다시 확인하십시오 lsof. 노드에는 다양한 유형이 있습니다. 여기서는 주로 일반 파일을 다루므로 키워드가 표시됩니다 REG.

  • 장비- 이 열에는 장치 번호가 포함됩니다. 이는 시스템 디렉토리의 특정 파일에 해당하는 장치입니다 /dev.

  • 사이즈/마감- 파일 크기 또는 파일 오프셋(바이트)입니다.

  • 마디- 매뉴얼 페이지를 참조하십시오 lsof. 일반적으로 로컬 파일의 노드 번호 또는 서버 호스트에 있는 NFS 파일의 inode 번호이지만 다른 값일 수도 있습니다.

  • 이름- 파일 이름 또는 파일이 있는 마운트 지점 및 파일 시스템의 이름입니다.

답변2

lsof어떤 방식으로든 프로그램이 액세스하는 모든 파일을 나열합니다. 네 번째 열( FD)은 프로그램이 파일에 액세스하는 방법을 설명합니다. 다음은 몇 가지 일반적인 시나리오입니다(다른 시나리오도 있음).

  • 숫자: 프로세스에 의해 파일이 열리고 숫자는 파일 설명자입니다. 파일 이름 뒤의 문자는 열기 모드(예: r읽기 전용, w쓰기 전용, u둘 다)를 나타냅니다.
  • cwd: 이 파일은 프로세스의 현재 작업 디렉터리입니다.
  • txt: 이 파일은 프로세스의 실행 파일입니다.
  • mem: 파일이 프로세스의 가상 메모리 공간에 매핑됩니다.

설명자 유형 txt은 사람이 읽을 수 있는 텍스트나 .txt. 여기서 "텍스트"는 다음과 같은 실행 가능한 코드를 가리키는 이상한 용어입니다.텍스트 세그먼트코드가 포함된 실행 파일의 일부입니다.이 이상한 이름은Unix 이전의 프로그래밍 커뮤니티(General Electric, Unix 세계에서 또 다른 명명 유산은 "GECOS 필드").

따라서 여러분이 보는 것은 각 프로세스의 주요 실행 파일입니다.

관련 정보