summaryrefslogtreecommitdiffstats
path: root/lib/container/stop
diff options
context:
space:
mode:
Diffstat (limited to 'lib/container/stop')
-rwxr-xr-xlib/container/stop20
1 files changed, 17 insertions, 3 deletions
diff --git a/lib/container/stop b/lib/container/stop
index ba8960d..ec24d51 100755
--- a/lib/container/stop
+++ b/lib/container/stop
@@ -27,8 +27,8 @@ CLEAN="false"
Parameters ()
{
- LONG_OPTIONS="name:,clean,"
- OPTIONS="n:,"
+ LONG_OPTIONS="name:,force,clean,"
+ OPTIONS="n:,f,"
PARAMETERS="$(getopt --longoptions ${LONG_OPTIONS} --name=${COMMAND} --options ${OPTIONS} --shell sh -- ${@})"
@@ -48,6 +48,10 @@ Parameters ()
shift 2
;;
+ -f|--force)
+ FORCE="true"
+ ;;
+
--clean)
# internal option
CLEAN="true"
@@ -166,5 +170,15 @@ case "${STATE}" in
;;
esac
+case "${FORCE}" in
+ true)
+ MODE="terminate"
+ ;;
+
+ *)
+ MODE="poweroff"
+ ;;
+esac
+
# Run
-machinectl poweroff ${NAME}
+machinectl ${MODE} ${NAME}