파일 이름으로 실행중인 프로세스를 표시 하시겠습니까?


12

내 사이트가있는 Linux 서버를 연결하기 위해 퍼티를 사용하고 있습니다.

# ps aux | less

실행중인 프로세스를 표시합니다. 그러나이 프로세스를 실행하는 파일을 표시하고 싶습니다.

나는 또한 시도했다

# ps aux | grep <pid>

그러나이 오류가 발생합니다.

-bash: syntax error near unexpected token `newline'

올바른 방법은 무엇입니까?


4
에서 grep <pid>, 당신은 교체하기로되어있어 <pid>실제 프로세스 ID (이 숫자의)와 함께. <pid>실제로 입력해야하는 것이 아니라 자리 표시 자일뿐입니다.
벤 Voigt

답변:


13

ps aux | grep <pid>쉘 명령이 아닙니다. 이 표기법 <pid>은 "PID를 넣습니다"라는 일반적인 규칙입니다. 예를 들어 PID가 1234 인 경우을 실행 ps aux | grep 1234합니다. 이것은 매우 유용한 명령이 아니므로 실행할 수도 있습니다 ps u 1234.

귀하의 질문은 명확하지 않습니다. “파일 이름”이란 무엇입니까? 프로세스 1234가 실행중인 실행 파일을 보려면 다음을 수행하십시오.

ls -l /proc/1234/exe

해당 프로세스가 어떤 파일을 열 었는지 보려면 :

ls -l /proc/1234/fd

인수가 포함 된 전체 명령 행을 보려면 다음을 수행하십시오.

tr '\0' '\n' </proc/1234/cmdline

명령을 사용 lsof -p1234하려면 프로세스가 연 모든 파일을 표시하십시오. ps uww 1234도 1은 전체 명령 행을 포함하여 프로세스 (1234)에 대한 다양한 정보를 도시한다.



3

우선 (프로세스 식별자)가로 표시되는 ps aux | grep <PID>특정 프로세스에 대한 세부 정보를 표시하려는 경우에 유용합니다 .PID<PID>

예를 들어 ( 또는 ps aux | grep 'firefox\|USER'contein firefox또는을 포함 하는 행만 인쇄 함을 의미 USER) :

ps aux | grep 'firefox\|USER'
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
terdon  9021  2.5 11.8 1950888 970832 ?      Sl   Apr03 108:41 /opt/firefox/firefox

따라서 내 firefox인스턴스 의 PID 는 9021입니다. 따라서 실행하려는 명령을 사용하려면 다음 <PID>9021같이 바꾸십시오 .

ps aux | grep 9021
terdon  9021  2.5 11.5 1948776 942640 ?      Sl   Apr03 109:03 /opt/firefox/firefox

이제 "이 프로세스를 실행하는 파일 표시"가 무슨 뜻인지 잘 모르겠습니다. 이러한 프로세스가 사용중인 파일을 표시하는 ps aux것이 그 중 하나입니다. /usr/share/doc/nano/faq.html이 명령을 사용 하여 파일 을 열었다 고 가정 해보십시오 .

 firefox /usr/share/doc/nano/faq.html 

다음을 firefox사용하여 열린 파일 을 볼 수 있습니다 ps.

ps aux | grep firefox
terdon   31763 18.7  1.0 682916 84352 pts/10   Sl+  17:10   0:02 firefox /usr/share/doc/nano/faq.html

열린 파일은 firefox에 전달 된 인수 중 하나로 표시됩니다. PID는 다릅니다 (현재 31763대신 9021). 실행중인 모든 프로그램에는 고유 한 PID가 있기 때문입니다.


또 다른 유용한 명령은 top입니다. -c스위치로 실행하면 명령에 전달 된 인수가 표시되고 -u <your user>사용자 이름으로 시작된 프로세스 만 표시됩니다 ( <your user>실제 사용자 이름으로 대체 ).

top -c -u terdon

이것은 내 로컬 컴퓨터의 출력입니다 (사용자 terdon는 두 개의 프로세스 만 실행 중입니다).

top - 17:14:41 up 3 days, 49 min, 14 users,  load average: 0.48, 0.54, 0.55
Tasks: 228 total,   1 running, 226 sleeping,   0 stopped,   1 zombie
%Cpu(s):  7.1 us,  5.5 sy,  0.0 ni, 86.5 id,  0.0 wa,  0.0 hi,  0.9 si,  0.0 st
KiB Mem:   8187940 total,  8007220 used,   180720 free,   349264 buffers
KiB Swap:  8191996 total,     5556 used,  8186440 free,  4173004 cached

  PID USER      PR  NI  VIRT  RES  SHR S  %CPU %MEM    TIME+  COMMAND                                                       
31573 terdon    20   0 24900 5576 1684 S   0.0  0.1   0:00.20 bash                                                          
31763 terdon    20   0  666m  77m  28m S   0.0  1.0   0:02.39 firefox /usr/share/doc/nano/faq.html                          

로 표시된 정보에 대한 설명은 SU 관련 질문에 대한 답변top참조하십시오 .


0

쉘 아래의 일부 문자는 <>? "; ...

grep PID는 PID가 프로세스 id이고 grep이 유사한 숫자를 찾을 수 있으므로 유용하지 않습니다 ...

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.