Ubuntu Server 10.10을 사용하고 있으며 어떤 프로세스가 실행되고 있는지 확인하고 싶습니다. PostgreSQL이 내 컴퓨터에서 실행되고 있지만 top
or ps
명령으로 볼 수 없으므로 실행중인 모든 프로세스가 표시되지 않는다고 가정합니다. 실행중인 모든 프로세스를 표시하거나 다른 매개 변수가 top
있거나 사용할 수있는 다른 명령 ps
이 있습니까?
답변
로부터 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
답변
당신은 시도 ps aux | grep postgres
했습니까? postgres가 실행 중이면 실제로 표시되어야합니다. 그렇지 않은 경우 … postgres가 실행 중인지 어떻게 알 수 있습니까?
(참고 : 그것은 ps -aux
옳지 만 틀린 일반적인 오해입니다. )