답변:
killall nameofexefile.exe
리눅스 프로세스처럼
ALT + F2 또는 터미널을 통해 와인 세션을 안전하게 종료 할 수 있습니다.
wineserver -k
실제로 종료하지 않으려면 다음을 통해 강제 종료 할 수 있습니다
wineserver -k9
글쎄, 와인 프로그래머로서 나는 종종 모든 것을 망쳐 놓을 것이므로 슈퍼 특수 킬 와인 스크립트를 사용합니다. 이것은 어려운 죽음입니다 ( wineserver -k
좋은 방법이며 항상 선호합니다).
#!/bin/bash
wine_cellar="${HOME}/.local/share/wine"
if (($#)); then
if [[ -e "${wine_cellar}/$1" ]]; then
WINEPREFIX="${wine_cellar}/$1"
shift
elif [[ "${1:0:1}" != "-" ]]; then
echo "ERROR: Didn't understand argument '$1'?" >&2;
exit 1
fi
fi
if ((${#WINEPREFIX})); then
pids=$(
grep -l "WINEPREFIX=${WINEPREFIX}$" $(
ls -l /proc/*/exe 2>/dev/null |
grep -E 'wine(64)?-preloader|wineserver' |
perl -pe 's;^.*/proc/(\d+)/exe.*$;/proc/$1/environ;g;'
) 2> /dev/null |
perl -pe 's;^/proc/(\d+)/environ.*$;$1;g;'
)
else
pids=$(
ls -l /proc/*/exe 2>/dev/null |
grep -E 'wine(64)?-preloader|wineserver' |
perl -pe 's;^.*/proc/(\d+)/exe.*$;$1;g;'
)
fi
if ((${#pids})); then
set -x
kill $* $pids
fi
이것은 당신이 와인 접두사가 아래에 있다고 가정합니다 ~/.local/share/wine
. 사용 예는 다음과 같습니다.
killwine # Just kill all instances of wine
killwine -9 # Hard kill them all
killwine lotro # Only kill wine under ${HOME}/.local/share/wine/lotro
killwine -INT lotro # Same as above, but use SIGINT
WINEPREFIX=/tmp/crap killwine # Kill only the instance under /tmp/crap
sudo reboot # Pretend you're running windows.
잘 모르겠지만, 보통 또는 정상 + 스테이징 릴리스에서 메모리에 걸려있는 다양한 프로세스 (이 스크립트가 처리하는 것)로 끝나는 경우가 종종 있다고 생각하지 않지만 서버와 ntdll을 해킹.
편집 :이 스크립트는 Linux 기반 OS에서만 작동하며 proc 파일 시스템이 / proc 등에 마운트되어 있다고 가정합니다.
내 버전 :
ls -l /proc/*/exe 2>/dev/null | grep -E 'wine(64)?-preloader|wineserver' | perl -pe 's;^.*/proc/(\d+)/exe.*$;$1;g;' | xargs -n 1 kill
모든 와인 과정을 죽입니다. 이 게시물 덕분에 /ubuntu//a/732320/605355