를 통해 GNU coreutils 를 설치할 수 있습니다 brew
. 그러나 utils 에는 없습니다ps
. ps
OS X에서 gnu 를 사용할 수 있습니까 ?
ps
더 많은 옵션과 기능을 가지고 있기 때문에 GNU를 사용하고 싶습니다 .
ps
더 많은 옵션과 기능이 있기 때문에 GNU를 사용하고 싶었습니다 .
를 통해 GNU coreutils 를 설치할 수 있습니다 brew
. 그러나 utils 에는 없습니다ps
. ps
OS X에서 gnu 를 사용할 수 있습니까 ?
ps
더 많은 옵션과 기능을 가지고 있기 때문에 GNU를 사용하고 싶습니다 .
ps
더 많은 옵션과 기능이 있기 때문에 GNU를 사용하고 싶었습니다 .
답변:
휴대용 PS 프로그램이 없습니다. 리눅스에서 사용할 수있는 ps 명령은 다른 사람들이 언급했듯이 "procps"패키지에 있습니다. 이것이 OSX로 이식 될 수없는 이유는 Linux와 OSX 커널이 같은 방식으로이 정보를 공개하지 않기 때문입니다. Linux는 / proc에서 의사 파일 시스템을 사용하는 반면 OSX는 sysctl 기능을 사용합니다. 다른 시스템은 메커니즘을 사용하지만 다른 형식으로 데이터를 제공하거나 ps와 같은 프로그램이 커널 메모리에서 직접 읽도록 요구할 수 있습니다.
일반적으로 ps 및 top과 같은 프로그램에서 프로세스 정보를 사용하는 방법에 대한 표준은 없습니다. 따라서 프로그램은 특정 운영 체제에 맞게 설계되어야합니다. OSX ps에서 특정 기능이 누락 된 경우,이를 수행 할 수있는 다른 프로그램을 찾거나 직접 작성하거나 ( sysctl 매뉴얼, 특히 KERN_PROC 를 시작점으로 보거나) 기존 ps를 수정해야 합니다. 기능을 추가하는 명령 입니다.
또는 ps 명령 자체의 출력을 구문 분석하여 필요한 것을 얻을 수 있으면 이식 가능한 프로그램을 작성할 수 있습니다. -o
옵션이 포함 된 출력 은 특히 여러 플랫폼에서 신뢰할 수 있습니다 (특히 UNIX 표준에 대한 UNIX 표준 을 참조하는 경우) . 사용할 열 이름.
/proc
파일 시스템이 프로세스 목록을 얻기 위해 Linux 커널이 제공하는 유일한 방법 입니까 , 아니면 해당 정보를 제공하는 별도의 시스템 호출이 있습니까?
아니요-존재하지 않기 때문입니다. 에 관해서는 왜 아무 내장이없는 ps
GNU의에서 coreutils
패키지를 참조 유닉스 및 리눅스 포럼에이 답변을.
Homebrew를 통해 사용할 수있는 가장 좋은 대체 공식은 psgrep
다음과 같습니다.
psgrep는 멋진 유틸리티 grep (1) 을 사용하여 프로세스 목록 ( ps (1)에서 얻은)을 검색하는 작은 Bash 셸 스크립트입니다 .
즉, 여전히 psgrep
OS X처럼 동작 하는 데 사용할 수 있습니다 ps
. 예를 들면 다음과 같습니다.
OPTIONS
-a Search the process list using BSD's "ps aux" format. This option
includes all users' processes in the search.
-b Search the process list using BSD's "ps ux" format (default).
This option only includes the running user's processes.
pgrep
은 brew
구문 상보다 가깝지만 다음 ps
보다 효율 이 떨어지는를 통해 사용할 수도 있습니다 psgrep
.
psgrep (1) 은 프로세스 목록을 검색하고 PID를 반환 할 수있을뿐만 아니라 UID, GID, 메모리 / CPU 사용량, niceness 및 기타 지원되는 것과 같은 더 유용한 정보를 제공 할 수 있기 때문에 pgrep (1) 보다 유용합니다. ps.에 의해
모든 것을 강조합니다.
pgrep
뿐만 아니라 OS X의 최신 버전의 일부입니다
type -a pgrep
pgrep is /usr/local/bin/pgrep
pgrep is /usr/bin/pgrep
ps
거나ps -ef
터미널에서 시도 했습니까? 두 개의 다른 컴퓨터에서 수정하지 않고 OSX 10.7.5에서 작동합니다. / bin / ps에 있습니다