본문 바로가기

OS/linux&ubuntu

[Ubuntu] PID 로 실행중인 파일 경로 찾기

반응형

프로세스 검색

ps

    PID TTY          TIME CMD
 657588 pts/0    00:00:00 bash
 657850 pts/0    00:00:00 ps

ps -ef

UID          PID    PPID  C STIME TTY          TIME CMD
root           1       0  0  2023 ?        00:55:27 /sbin/init
root           2       0  0  2023 ?        00:03:12 [kthreadd]

 

보통 ps -ef | grep [프로그램명] 이렇게 해서 많이 프로그램을 확인할텐데

아래와 같이 검색했을 때 무언가가 실행되고 있는건 알지만 server.py가 많을 경우 어떤것을 실행하고 있는지 모른다.

ps -ef | grep python
root     658039  657588  0 11:25 pts/0    00:00:00 grep --color=auto python
root     1408134 1408133  0  2023 ?        00:00:00 python3 server.py
root     1408273 1408272  0  2023 ?        00:00:00 python3 client.py

 

이때 저 client.py 의 위치를 아는 방법

pwdx

pwdx [PID|PPID]
pwdx 1408272
1408272: /home/test/client

 

lsof -p [PID]

lsof -p 1408273
COMMAND     PID USER   FD   TYPE   DEVICE SIZE/OFF     NODE NAME
python3 1408273 root  rtd    DIR    259,2     4096        2 /
python3 1408273 root  txt    REG    259,2  5294584  1312812 /usr/bin/python3.8
python3 1408273 root  cwd    DIR    259,2     4096 51856136 /home/test/client


# 다른 부가적인 정보도 나오기 때문에 grep 이랑 같이 사용한다.

lsof -p 3408273 | grep cwd
python3 1408273 root  cwd    DIR    259,2     4096 51856136 /home/test/client

 

참조

https://soundprovider.tistory.com/entry/linux-pid%EB%A1%9C-%EC%8B%A4%ED%96%89%EC%A4%91%EC%9D%B8-%ED%8C%8C%EC%9D%BC-%EC%B0%BE%EA%B8%B0

 

[linux] pid로 실행중인 파일 찾기

우분투에서 ps -ef | grep python으로 실행중인 프로세스를 찾으면 아래와 같이 뜬다. user@user-System-Product-Name:~/user$ ps -ef | grep python user 5821 1 1 May16 ? 06:26:54 python -u hello.py 이때 실행중인 파일의 경로를

soundprovider.tistory.com

https://stackoverflow.com/questions/606041/how-do-i-get-the-path-of-a-process-in-unix-linux

 

How do I get the path of a process in Unix / Linux?

In a Windows environment there is an API to obtain the path which is running a process. Is there something similar in Unix / Linux? Or is there some other way to do that in these environments?

stackoverflow.com

 

반응형