실행 중인 프로세스를 보는 방법은 무엇입니까?

실행 중인 프로세스를 보는 방법은 무엇입니까?

저는 Ubuntu Server 10.10을 사용하고 있으며 어떤 프로세스가 실행되고 있는지 확인하고 싶습니다. PostgreSQL이 내 컴퓨터에서 실행되고 있다는 것을 알고 있지만 top또는 명령을 사용하여 볼 수 없으므로 ps실행 중인 프로세스가 모두 표시되지 않는 것으로 가정합니다. 실행 중인 모든 프로세스를 표시할 수 있는 다른 명령이 있습니까? 아니면 이 명령 top이나 ps이 목적으로 사용할 수 있는 다른 매개 변수가 있습니까 ?

답변1

ps매뉴얼 페이지 에서 :

-e는 모든 프로세스를 선택합니다. -A와 동일합니다.

따라서 ps -e모든 프로세스가 표시됩니다. "모든 것을 나에게 주세요"에 대한 일반적인 옵션은 ps -ely또는 이며 ps aux, 후자는 BSD 스타일입니다. 일반적으로 grepxenoterracide의 답변과 같이 이 출력을 검색 프로세스 로 파이프합니다 . grep출력에서 자신을 보지 않으려면 다음과 같은 내용이 자주 표시됩니다.

 ps -ef | grep [f]oo

여기서 foo는 찾고 있는 프로세스 이름입니다.

그러나 특정 프로세스를 찾고 있다면 pgrep가능하다면 이 명령을 사용하는 것이 좋습니다. 나는 그것이 우분투 서버에서 작동한다고 믿습니다. 이를 사용하면 pgrep위에서 언급한 경쟁 조건을 피할 수 있습니다. 또한 grep복제하기 위해 점점 더 정교한 트릭이 필요한 여러 가지 다른 기능도 제공합니다 . 구문은 간단합니다.

pgrep foo

foo는 당신이 찾고 있는 프로세스입니다. 기본적으로 프로세스가 발견되면 프로세스의 프로세스 ID(PID)만 인쇄됩니다. 추가 출력 옵션을 참조하세요 man pgrep. 다음 페이지가 매우 유용하다고 생각합니다.

http://mywiki.wooledge.org/ProcessManagement

답변2

시도해 보셨나요 ps aux | grep postgres? postgres가 실행 중이라면 실제로 표시되어야 합니다. 그렇지 않다면... postgres가 실행 중인지 어떻게 알 수 있나요?

(참고: 이는 일반적인 오해이지만 ps -aux잘못된 것입니다.)

답변3

답변에는 출력의 효율적인 필터링과 자동화된 bash기능이 포함됩니다.

ps -elf | head -n 1; ps -elf | grep -i search_term | grep -v grep | grep -v "ps -elf"

0개 이상의 프로세스를 찾으려면 위의 search_term검색어를 검색하려는 용어로 바꾸세요(예: ) term.

사용 예:

ps -elf | head -n 1; ps -elf | grep -i term | grep -v grep | grep -v "ps -elf"

산출:

F S UID        PID  PPID  C PRI  NI ADDR SZ WCHAN  STIME TTY          TIME CMD
0 S user     14919  1394  0  80   0 - 217553 poll_s 04:14 ?       00:00:12 /usr/lib/gnome-terminal/gnome-terminal-server

오토메이션

홈 디렉터리의 루트에 .bash_aliases 파일이 아직 없는 경우 다음을 입력합니다.

touch .bash_aliases

다음으로, .bash_aliases 파일 끝에 명령을 실행하는 함수를 추가합니다.

echo 'pself() { ps -elf | head -n 1; ps -elf | grep -i "$1" | grep -v grep | grep -v "ps -elf"; }' >> .bash_aliases

사용 예(먼저 새 터미널 창을 엽니다):

pself term

산출:

F S UID        PID  PPID  C PRI  NI ADDR SZ WCHAN  STIME TTY          TIME CMD
0 S user     14919  1394  0  80   0 - 217553 poll_s 04:14 ?       00:00:12 /usr/lib/gnome-terminal/gnome-terminal-server

(위 내용은 Ubuntu 18.04에서 테스트되었습니다.)

이 기사에서는 모든 내용을 자세히 설명합니다.여기

관련 정보