killall nameofexefile.exe
assim como os processos do Linux
Às vezes, acontece que um aplicativo do Wine falha (abrandando o sistema e tornando-o quase inutilizável).
Na maioria dos casos eu sou capaz de matar o programa com xkill
, mas em algum momento eu tenho que reiniciar pois o Ubuntu parece não responder muito bem (a única coisa que funciona é ALT + F2 , o lançador; xkill
não).
Eu tentei usar wineboot -r
ou -f
, mas eles não parecem funcionar muito bem ..
Se algo não estiver claro, deixe-me saber que vou tentar explicar melhor:)
killall nameofexefile.exe
assim como os processos do Linux
Você pode matar com segurança as sessões de vinho por meio de ALT + F2 ou por meio de um terminal digitando
wineserver -k
Se realmente não quiser desligar, você pode forçá-lo via
wineserver -k9
Bem, como um programador de vinhos, muitas vezes eu vou agitar toda a maldita coisa, então eu uso o meu script super especial killwine. Esta é uma morte difícil ( wineserver -k
é a melhor maneira de fazer isso e sempre preferiu).
#!/bin/bash
wine_cellar="${HOME}/.local/share/wine"
if (($#)); then
if [[ -e "${wine_cellar}/" ]]; then
WINEPREFIX="${wine_cellar}/"
shift
elif [[ "${1:0:1}" != "-" ]]; then
echo "ERROR: Didn't understand argument ''?" >&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//environ;g;'
) 2> /dev/null |
perl -pe 's;^/proc/(\d+)/environ.*$;;g;'
)
else
pids=$(
ls -l /proc/*/exe 2>/dev/null |
grep -E 'wine(64)?-preloader|wineserver' |
perl -pe 's;^.*/proc/(\d+)/exe.*$;;g;'
)
fi
if ((${#pids})); then
set -x
kill $* $pids
fi
Isso pressupõe que seus prefixos de vinho estão abaixo de ~/.local/share/wine
. Exemplos de uso são:
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.
Eu não sei, mas eu não acho que muitas vezes você vai acabar com vários processos pendurados na memória (o que este script cuida) em uma versão normal ou mesmo normal + de teste, mas eu faço bastante muito por causa do hacking do servidor e do ntdll.
EDIT: Este script só funcionará em um SO baseado em Linux e assumirá que o sistema de arquivos proc está montado em / proc, etc.
Eu estava prestes a ter o mesmo problema.
Este comando no terminal me ajudou. Pressione Ctrl + Alt + te escreva o seguinte:% ps -x | grep "Your program name" | awk '{print }' | xargs kill
O nome do seu programa deve ser escrito sem aspas ,
Isso me ajudou a resolver o oblivion.exe:
ps -x | grep Oblivion | awk '{print }' | xargs kill
Minha versão:
ls -l /proc/*/exe 2>/dev/null | grep -E 'wine(64)?-preloader|wineserver' | perl -pe 's;^.*/proc/(\d+)/exe.*$;;g;' | xargs -n 1 kill
Ele mata todos os processos do vinho. Graças a este post link
Tags wine