diff options
Diffstat (limited to 'lib/container/start')
-rwxr-xr-x | lib/container/start | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/lib/container/start b/lib/container/start index 7e11121..b8803b2 100755 --- a/lib/container/start +++ b/lib/container/start @@ -28,8 +28,8 @@ SYSTEMCTL="true" Parameters () { - LONG_OPTIONS="name:,nspawn,start," - OPTIONS="n:," + LONG_OPTIONS="name:,force,nspawn,start," + OPTIONS="n:f," PARAMETERS="$(getopt --longoptions ${LONG_OPTIONS} --name=${COMMAND} --options ${OPTIONS} --shell sh -- ${@})" @@ -49,6 +49,11 @@ Parameters () shift 2 ;; + -f|--force) + FORCE="true" + shift 1 + ;; + --nspawn) # internal option SYSTEMCTL="false" @@ -77,7 +82,7 @@ Parameters () Usage () { - echo "Usage: container ${COMMAND} -n|--name NAME" >&2 + echo "Usage: container ${COMMAND} -n|--name NAME [-f|--force]" >&2 exit 1 } @@ -109,8 +114,16 @@ esac if [ -e "${MACHINES}/.#${NAME}.lck" ] then - echo "'${NAME}': container is locked" >&2 - exit 1 + case "${FORCE}" in + true) + rm -f "${MACHINES}/.#${NAME}.lck" + ;; + + *) + echo "'${NAME}': container is locked" >&2 + exit 1 + ;; + esac fi HOST_ARCHITECTURE="$(dpkg --print-architecture)" |