खैर, एक शराब प्रोग्रामर के रूप में, मैं अक्सर पूरी लानत-मलामत करूंगा, इसलिए मैं अपनी सुपर स्पेशल किलविन स्क्रिप्ट का उपयोग करता हूं। यह एक कठिन मौत है ( 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 हैकिंग।
EDIT: यह स्क्रिप्ट केवल लिनक्स-आधारित OS पर काम करेगी और यह मान लेती है कि खरीद फाइल सिस्टम / खरीद आदि पर आरूढ़ है।