Linux 에서 프로 세 스 의 실행 파일 절대 경 로 를 봅 니 다.

6376 단어 linuxshellPSproc
  • Linux 커 널 은/proc 파일 시스템 을 통 해 운영 할 때 커 널 내부 데이터 구 조 를 방문 하고 커 널 설정 을 바 꾸 는 체 제 를 제공 합 니 다.proc 파일 시스템 은 외부 저장 공간 을 차지 하지 않 고 메모리 에 만 존재 하 는 가짜 파일 시스템 입 니 다.그것 은 파일 시스템 의 방식 으로 시스템 내 핵 데이터 에 접근 하 는 작업 에 인 터 페 이 스 를 제공한다.
  • /proc/N pid 가 N 인 프로 세 스 정보
  • /proc/N/cmdline 프로 세 스 시작 명령
  • /proc/N/cwd 프로 세 스 현재 작업 디 렉 터 리 로 연결
  • /proc/N/environ 프로 세 스 환경 변수 목록
  • /proc/N/exe 프로 세 스에 연 결 된 실행 명령 파일
  • /proc/N/fd 는 프로 세 스 와 관련 된 모든 파일 설명 자 를 포함 합 니 다
  • /proc/N/maps 프로 세 스 와 관련 된 메모리 맵 정보
  • /proc/N/mem 은 프로 세 스 가 가지 고 있 는 메모 리 를 가리 키 며 읽 을 수 없습니다
  • /proc/N/root 프로 세 스 의 루트 디 렉 터 리 에 연결
  • /proc/N/stat 프로 세 스 의 상태
  • /proc/N/statm 프로 세 스 가 사용 하 는 메모리 상태
  • /proc/N/status 프로 세 스 상태 정보, stat/statm 보다 가 독성
  • #!/bin/bash 
    RES_COLOR="\E[0m"                                                                                                                                                           
    RED_COLOR="\E[1;31m"                                                                                                                                                        
    GREEN_COLOR="\E[1;32m"                                                                                                                                                      
    YELOW_COLOR="\E[1;33m"                                                                                                                                                      
    BLUE_COLOR="\E[1;34m"                                                                                                                                                       
    PINK_COLOR="\E[1;35m"                                                                                                                                                       
    
    if [ $# -ne 1 ] ; then                                                                                                                                                      
            echo -e ${RED_COLOR} "Usage: pwatch exe" ${RES_COLOR}                                                                                                               
            exit 1                                                                                                                                                              
    fi                                                                                                                                                                          
    
    for pid in `ps aux | grep $1 | awk '{print $2}'` ;                                                                                                                          
    do                                                                                                                                                                          
            if [ -d "/proc/${pid}" ]; then                                                                                                                                      
                    echo -ne "${pid} "                                                                                                                                          
                    # echo -e ${BLUE_COLOR} `cat -v /proc/${pid}/cmdline` ${RES_COLOR} 
                    echo -e ${BLUE_COLOR} `ps aux | awk '{if($2=="'${pid}'") for(i=11;i<=NF;i++) printf("%s ", $i)}'` ${RES_COLOR}                                              
                    echo -e ${GREEN_COLOR} EXE: `ls -l /proc/${pid}/exe 2>/dev/null | awk '{print $NF}'` ${RES_COLOR}                                                           
                    echo -e ${GREEN_COLOR} PWD: `ls -l /proc/${pid}/cwd 2>/dev/null | awk '{print $NF}'` ${RES_COLOR}                                                           
            fi                                                                                                                                                                  
    done 

    ➜ ~ ./pwatch.sh vim 27609 vim log.cpp EXE:/usr/bin/vim PWD:/home/service/common 35772 vim worker.cpp EXE:/usr/bin/vim PWD:/home/service/app/src

    좋은 웹페이지 즐겨찾기