Das Forum

How to kill process

Autor Antworten
cgm Monday 1 February 2016 at 2:55
cgmAnonymous

Hello,

Sometimes it crashes and I've been wondering how to kill the process when it happens, killall does not work neither wineserver -k and the likes, how do you kill ongoing process in POL?

Regards

cgm Monday 1 February 2016 at 12:43
cgmAnonymous

No one?? I need to reboot everytime I experience a freeze...

petch Monday 1 February 2016 at 15:04
petch
Developer

It's unclear what you're doing with killall and wineserver -k, it must be possible to get them to work.

Anyway, "Close" in the interface should do that, you can also try Configure button > (select virtual drive) > Wine tab > "Kill processes" button

cgm Monday 1 February 2016 at 15:10
cgmAnonymous

Thanks for reply, well the problem is the whole screen freezes (playing full screen) so I have no other choice than CTRL+ALT+F1, from there I enter kill commands but it always says "no process found" and for wineserver -k it says "command not found". Or should I install wine separately? I thought there was no need since is integrated into POL (once I've installed it with Tools=>Manage wine versions)?

petch Monday 1 February 2016 at 17:18
petch
Developer

PlayOnLinux runs Wine in separate virtual drives, so it's normal that a plain "wineserver -k" doesn't see anything running: it's not in the right context.

At very least $PREFIX must be set to the path of the "prefix" of the virtual drive (/home/user/.PlayOnLinux/wineprefix/Name), but I suspect "wineprefix" command has to come from the right Wine version too, so you may have to set $PATH and $LD_LIBRARY_PATH so it works...

I wrote the playonlinux-base script below to kill the wineserver of the virtual drive passed as argument:

polkillall:

#!/usr/bin/env playonlinux-bash
[ "$PLAYONLINUX" ] || exit 0
source "$PLAYONLINUX/lib/sources"

usage () {
  local self="$(basename "$0")"
  (echo "Usage: $self <Virtual drive name>"
  echo "Kill the wineserver running this virtual drive"
  echo ""
  echo "Virtual drives:"
  cd $HOME/.PlayOnLinux/wineprefix && \
    for i in *; do
      [ -d "$i" -a "$i" != "default" ] && echo "  $i"
    done) >&2
  exit 0
}

[ "$1" ] || usage

POL_Wine_SelectPrefix "$1"
POL_Wine_AutoSetVersionEnv
wineserver -k


The problem is that it requires an X display, so if your X server is not totally dead (just unreachable), maybe using

export DISPLAY=:0

in terminal will be enough for this script to work, I can't really tell...

Not requiring an X display will be difficult...