리눅스와 같은 top / netstat / etc. Mac OS X에서?


24

Mac OS X의 유닉스 유틸리티는 사용하기가 매우 어렵습니다. port install coreutils +with_default_names그리고 몇 가지 다른 부품을 교체 그들의 대부분을 해결하지만, 깨진 맥 OS X의 기본 설정에서 일부 잎 - 가장 성가 시게 top하고 netstat,하지만 확실히 내가 몇 가지 더 생각할 수를 해요.

나는 OS top와 같은 명령과 netstatOS 고유의 명령을 추측 하므로 Linux와 동등한 소스를 가져 와서 재 컴파일하면 작동하지 않습니다.

Mac OS X에서 작동하는 이러한 명령과 다른 명령과 가장 일치하는 것은 무엇입니까?


3
이를 "대체"라고하는 것은 역사적으로 정확하지 않을 수 있습니다. 그것들은 BSD 변형에서 파생되었으며, 역사적으로 많은 것들이 당신이 익숙한 리눅스 도구보다 이전에 사용되었습니다. 그러나 포트 대신 핀크를 사용하는 사람들에게는 좋은 질문과 비슷한 문제가 있습니다.
dmckee

3
덜 편집적인 내용이 포함되어 있다면 귀하의 질문이 더 나을 것입니다. 하나의 유닉스 계열 OS에서 다른 유닉스 OS로 넘어 가면 다른 공통 유닉스 명령이 다른 플랫폼에서 다른 진화 경로를 따르는 방식에 항상 놀라움을줍니다. Solaris, DEC Ultrix, AT & T SysV, HP-UX, GNU / Linux (다수 배포판), NEXTSTEP, OpenStep, BSDI, Xenix / SCO, FreeBSD, NetBSD, Mac OS X 및 CygWin을 사용했습니다. 한 가지 맛 도구의 독특한 기능에 너무 익숙해지면 다른 호의로 갈 때 고통 스럽습니다. 그렇다고해서 "깨진"것은 아닙니다.
Spiff

2
그렇습니다. 허드를 잊지 마십시오. Linux 및 OSX 이외의 나머지 목록은 역사적으로 관심 대상입니다.
TAW

@taw : Solaris는 특히 zfs를 위해 많은 곳에서 사용되고 있습니다.
Dan

답변:


24

많은 netstat 기능을 lsof 명령 으로 대체 할 수 있습니다 . 나는 자주 사용했다

netstat -lnp | grep 1234

포트 1234에서 수신 대기중인 사람을 찾으려면 lsof (두 시스템 모두에서 사용 가능)를 사용하여 다음을 수행 할 수 있습니다.

lsof -i :1234

OSX의 최상위 명령도 나쁘지 않습니다. 단지 다릅니다. 그리고 일부 메트릭은 Mac에서만 의미가 있다고 확신합니다.

그 주 lsof -Pi :1234(포트의) 서비스 이름을 확인하려고하지 않음으로써 조금 더 빨리해야한다.


6
OSX lsof는 OSX 보다 낫 netstat습니다 netstat.
TAW

추가 -P이름 확인을 방지하기 위해 그리고 빠른 방법합니다. 그래서 리눅스는 netstat -ntlp비슷 lsof -Pi | grep -i listen합니다. 아직도 여러 개의 PID가 같은 포트에서 어떻게들을 수 있는지 모르겠다. 리눅스에서 볼 수있는 것은 아니다 : /
Ray Foss

@RayFoss Mac 및 다른 OS에서는 프로세스가들을 수 있습니다 . : 1234와 127.0.0.1:1234의 다른 것. 후자가 우선권을가집니다. 리눅스에서는 금지되어 있습니다.
Eric Darchis

4

아 멋지다 htop. 나는 리눅스의 클론없는 추측 top하지만, 당신이 사용하기로 결정한 경우 htop리눅스에서 나는 것 같아요 htopOS X가 너무 멀리 떨어져되지 않습니다에.


1
청취 서버의 빠른 목록을 얻을 수 없기 때문에 직접 대체되지는 않습니다.
Ray Foss
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.