
Windows의 Cygwin에서 프로세스를 종료하는 방법에 관한 문제가 있습니다. 저는 Cygwin을 처음 접했습니다. 하지만 나에게는 도저히 죽일 수 없는 임무가 있다. 다음 명령을 실행해 보았습니다.
kill 4568
kill -9 4568
/bin/kill -f 4568
프로세스가 실행되는 Cygwin 터미널에서는 Ctrl+C를 사용할 수 없기 때문에 별도의 Cygwin 터미널에서 명령을 실행했습니다. 나는 성공하지 못한 채 인터넷 전체를 검색했습니다.
답변1
ps -W | awk '/calc.exe/,NF=1' | xargs kill -f
또는
ps -W | awk '$0~v,NF=1' v=calc.exe | xargs kill -f
또는
powershell kill -n calc
답변2
다음을 시도해 볼 수 있습니다.
taskkill /pid 4568
답변3
BASH 전용 솔루션을 원한다면 다음을 시도해 보십시오. (저에게 적합합니다)
KILLPS="<My Process Name>"
WINPS=`ps -W | grep -i $KILLPS` # Make case-insensitive.
PID=`echo $WINPS | cut -d' ' -f1`
/bin/kill -f "$PID"
참고: /bin/kill을 사용하십시오. 내장된 쉘 kill은 일반 Windows 프로세스에 대한 PID를 종료하지 않습니다.
답변4
여기서 생각해 볼 두 가지 사항:
- WINPID인 올바른 PID를 가져옵니다.
- 올바른 도구를 사용하십시오.
종료할 올바른 WINPID를 얻으려면 cat /proc/<PID>/winpid
. 즉, 다음을 실행합니다.
ZID=$$; WINPID=$(cat /proc/${ZID}/winpid); echo "Kill WINPID: ${WINPID}"; ps; sleep 10 &
그리고 그 직후에 또 다른 일을 합니다 ps
.
사용하기에 적합한 도구는시스인터널스' PsKill64.exe -t <winpid>
또한 스크립트 프로세스의 모든 하위 항목을 종료하지만 그렇지 kill
않습니다.