#!/usr/bin/env python # -*- coding: utf-8 -*- # ***************************************************************************** # NICOS, the Networked Instrument Control System of the MLZ # Copyright (c) 2009-2019 by the NICOS contributors (see AUTHORS) # # This program is free software; you can redistribute it and/or modify it under # the terms of the GNU General Public License as published by the Free Software # Foundation; either version 2 of the License, or (at your option) any later # version. # # This program is distributed in the hope that it will be useful, but WITHOUT # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # FOR A PARTICULAR PURPOSE. See the GNU General Public License for more # details. # # You should have received a copy of the GNU General Public License along with # this program; if not, write to the Free Software Foundation, Inc., # 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # # Module authors: # Georg Brandl # Markus Zolliker # # ***************************************************************************** import argparse import sys from os import path, environ, chdir root = path.dirname(path.dirname(path.dirname(path.realpath(__file__)))) nicos_root = path.join(root, 'nicos') sys.path.insert(0, nicos_root) # above packages: sys.path.insert(1, root) parser = argparse.ArgumentParser() parser.add_argument('-d', '--daemon', dest='daemon', action='store_true', help='daemonize the daemon process') parser.add_argument('-D', '--systemd', dest='daemon', action='store_const', const='systemd', help='run in systemd service mode') parser.add_argument('-S', '--setup', action='store', dest='setupname', default='daemon', help="name of the setup, default is 'daemon'") parser.add_argument('-I', '--instrument', action='store', type=str, default='', help='instrument as .\n', ) opts = parser.parse_args() if opts.instrument: environ['INSTRUMENT'] = opts.instrument from nicos.services.daemon.session import DaemonSession DaemonSession.run(opts.setupname, 'Daemon', daemon=opts.daemon)