Mac OS X에 대안 pgrep
과 pkill
명령이 있습니까? 아니면 다른 명령을 사용하여 별명을 만들어야합니까?
답변
MacPorts를 사용할 수 있습니다 .sudo port install proctools
결과는 다음과 같습니다 port search pgrep
.
proctools @0.4pre1 (sysutils)
pgrep, pkill and pfind for OpenBSD and Darwin (Mac OS X)
답변
답변
맥 OS 10.8 이후 : 당신은 더 이상 대안이 필요하지 않습니다 pgrep
및 pkill
기본적으로 사용할 수 있습니다.
답변
Mac에서 비교적 최신 버전의 Bash를 사용한다고 가정하면 자체 버전의 pgrep
함수를 작성한 다음 .bashrc
파일에 추가 할 수 있습니다.
function pgrep() {
ps aux | grep $1 | grep -v grep
}
뿐만 pkill
다음을 사용할 수 있습니다 :
function pkill() {
local pid
pid=$(ps ax | grep $1 | grep -v grep | awk '{ print $1 }')
kill -9 $pid
echo -n "Killed $1 (process $pid)"
}
답변
Proctools 에는 OpenBSD 및 OSX가 포함되어 pgrep
있으며 pkill
사용할 수 있습니다. 한동안 업데이트되지 않았지만 여전히 작동해야합니다 (적어도 ABI를 거의 수정하지 않는 OSX에서는).
답변
당신은 killall을 시도 할 수 있습니다. 이름으로 프로세스를 종료합니다. 전달한 문자열과 일치하는 프로세스가 모두 종료됩니다.
killall httpd ( kill all apache processes )
killall php ( kill all php process )
당신이 할 경우
killall -s man ( kill any manual page processes, if a user is using man [command]
아래와 같이 종료 될 프로세스 목록이 표시됩니다.
kill -TERM 70836
다른 신호를 원하면 다음을 수행하십시오.
killall -9 processname
답변
이것은 pkill에 대한 나의 해결책이었습니다.
#!/bin/sh
for X in `ps acx | grep -i $1 | awk {'print $1'}`; do
kill -9 $X;
done