From: Silvio Rhatto Date: Tue, 10 Jul 2018 16:37:27 +0000 (-0300) Subject: Adds pid action X-Git-Tag: 0.1.0~188 X-Git-Url: https://gitweb.fluxo.info/?a=commitdiff_plain;h=467ab3fd675641e7f1ae470a951aeaafeee7fc35;p=kvmx.git Adds pid action --- diff --git a/kvmx b/kvmx index 7911ec4..079ea82 100755 --- a/kvmx +++ b/kvmx @@ -745,6 +745,17 @@ EOF fi } +# Get guest PID +function kvmx_pid { + if [ -e "$PIDFILE" ]; then + # QEMU might put weird things into pidfile, so we need a simple filter + #cat $PIDFILE + cut -d ' ' -f 1 $PIDFILE | head -1 + else + return 1 + fi +} + # Suspend the virtual machine function kvmx_suspend { if ! kvmx_running; then @@ -752,7 +763,12 @@ function kvmx_suspend { exit 1 fi - PID="`cat $PIDFILE`" + PID="`kvmx_pid`" + + if [ -z "$PID" ]; then + return 1 + fi + kill -STOP $PID # Alternative @@ -777,7 +793,7 @@ function kvmx_running { return 1 fi - PID="`cat $PIDFILE`" + PID="`kvmx_pid`" if [ -z "$PID" ]; then return 1 @@ -812,7 +828,12 @@ function kvmx_resume { exit 1 fi - PID="`cat $PIDFILE`" + PID="`kvmx_pid`" + + if [ -z "$PID" ]; then + return 1 + fi + kill -CONT $PID # Alternative @@ -1254,7 +1275,12 @@ function kvmx_edit { # Stop a guest function kvmx_stop { if kvmx_running; then - PID="`cat $PIDFILE`" + PID="`kvmx_pid`" + + if [ -z "$PID" ]; then + return 1 + fi + kill $PID kvmx_xephyr_stop fi @@ -1263,7 +1289,12 @@ function kvmx_stop { # Kill a guest function kvmx_kill { if kvmx_running; then - PID="`cat $PIDFILE`" + PID="`kvmx_pid`" + + if [ -z "$PID" ]; then + return 1 + fi + kill -9 $PID kvmx_xephyr_stop fi @@ -1385,7 +1416,12 @@ function kvmx_status { return fi - PID="`cat $PIDFILE`" + PID="`kvmx_pid`" + + if [ -z "$PID" ]; then + return 1 + fi + ps $PID }