저는 퍼티를 사용하여 내 사이트가 있는 Linux 서버에 연결하고 있습니다. 나는 뛸 수 있습니다
# ps aux | less
실행 중인 프로세스를 표시합니다. 하지만 어떤 파일이 이러한 프로세스를 실행하고 있는지 보여주고 싶습니까?
나도 시도했다
# ps aux | grep <pid>
하지만 다음 오류가 발생합니다.
-bash: syntax error near unexpected token `newline'
올바른 접근 방식은 무엇입니까?
답변1
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
전체 명령줄을 포함하여 프로세스 1234에 대한 다양한 정보를 표시합니다.
답변2
다음 명령을 실행해 보십시오:
ps -ef
답변3
첫째, ps aux | grep <PID>
특정 프로세스의 세부 정보를 표시하려는 경우 프로세스가 유용합니다.PID
(프로세스 식별자)는 로 표시됩니다 <PID>
.
예를 들어(또는 을 포함하는 행만 인쇄한다는 의미 ps aux | grep 'firefox\|USER'
):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
따라서 내 인스턴스의 PID는 firefox
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
표시되는 정보에 대한 설명은 top
다음을 참조하세요.내 대답SU에 관한 질문입니다.
답변4
셸 아래의 일부 문자는 < > ? ;
grep PID는 PID가 프로세스 ID이기 때문에 쓸모가 없으며 grep은 다음과 같은 숫자를 찾습니다.