it-swarm-ko.tech

어떤 프로세스가 실행 중인지 어떻게 알 수 있습니까?

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

22
Jonas

ps 매뉴얼 페이지에서 :

-e 모든 프로세스를 선택하십시오. -A와 동일.

따라서 ps -e는 모든 프로세스를 표시합니다. "모든 것을 줘"에 대한 일반적인 옵션은 ps -ely 또는 ps aux이며, 후자는 BSD 스타일입니다. 종종 사람들은이 출력을 grep로 파이프하여 xenoterracide의 답변에서와 같이 프로세스를 검색합니다. 출력에서 grep 자체를 보지 않으려면 종종 다음과 같은 내용이 표시됩니다.

 ps -ef | grep [f]oo

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

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

pgrep foo

여기서 foo는 찾고있는 프로세스입니다. 기본적으로 프로세스의 프로세스 ID (PID)를 찾으면 출력합니다. 다른 출력 옵션에 대해서는 man pgrep를 참조하십시오. 다음 페이지가 매우 유용하다는 것을 알았습니다.

http://mywiki.wooledge.org/ProcessManagement

26
Steven D

ps aux | grep postgres를 사용해 보셨습니까? postgres가 실행 중이면 실제로 표시되어야합니다. 그렇지 않다면 ... postgres가 실행되고 있는지 어떻게 알 수 있습니까?

(참고 : ps -aux라는 잘못된 오해이지만, 올바르지 않습니다.)

3
xenoterracide