mirror of
https://github.com/CumulusNetworks/ifupdown2.git
synced 2024-05-06 15:54:50 +00:00
lockfile: return a specific exit code when another instance is already running
Signed-off-by: Julien Fortin <julien@cumulusnetworks.com>
This commit is contained in:
@@ -21,12 +21,14 @@ try:
|
|||||||
from ifupdown2.ifupdown.ifupdownmain import ifupdownMain
|
from ifupdown2.ifupdown.ifupdownmain import ifupdownMain
|
||||||
|
|
||||||
from ifupdown2.lib.dry_run import DryRunManager
|
from ifupdown2.lib.dry_run import DryRunManager
|
||||||
|
from ifupdown2.lib.status import Status
|
||||||
|
|
||||||
except (ImportError, ModuleNotFoundError):
|
except (ImportError, ModuleNotFoundError):
|
||||||
from ifupdown.argv import Parse
|
from ifupdown.argv import Parse
|
||||||
from ifupdown.utils import utils
|
from ifupdown.utils import utils
|
||||||
from ifupdown.config import IFUPDOWN2_CONF_PATH
|
from ifupdown.config import IFUPDOWN2_CONF_PATH
|
||||||
from ifupdown.ifupdownmain import ifupdownMain
|
from ifupdown.ifupdownmain import ifupdownMain
|
||||||
|
from lib.status import Status
|
||||||
|
|
||||||
from lib.dry_run import DryRunManager
|
from lib.dry_run import DryRunManager
|
||||||
|
|
||||||
@@ -69,7 +71,8 @@ class Ifupdown2:
|
|||||||
self.init(stdin_buffer)
|
self.init(stdin_buffer)
|
||||||
|
|
||||||
if self.op != 'query' and not utils.lockFile(lockfile):
|
if self.op != 'query' and not utils.lockFile(lockfile):
|
||||||
raise Exception("Another instance of this program is already running.")
|
log.error("Another instance of this program is already running.")
|
||||||
|
return Status.Client.STATUS_ALREADY_RUNNING
|
||||||
|
|
||||||
self.handlers.get(self.op)(self.args)
|
self.handlers.get(self.op)(self.args)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
@@ -39,6 +39,7 @@ class Status(object):
|
|||||||
STATUS_EXCEPTION_MAIN = 99
|
STATUS_EXCEPTION_MAIN = 99
|
||||||
|
|
||||||
STATUS_ARGV_ERROR = 90
|
STATUS_ARGV_ERROR = 90
|
||||||
|
STATUS_ALREADY_RUNNING = 89
|
||||||
|
|
||||||
class Daemon(object):
|
class Daemon(object):
|
||||||
STATUS_SUCCESS = 0
|
STATUS_SUCCESS = 0
|
||||||
|
Reference in New Issue
Block a user