mirror of
https://github.com/titanscouting/tra-superscript.git
synced 2024-11-10 06:54:45 +00:00
added start/stop/restart argument functionality
slightly buggy
This commit is contained in:
parent
c09f4d0897
commit
ba793140af
@ -270,14 +270,57 @@ def save_config(path, config_vector):
|
|||||||
|
|
||||||
import daemon
|
import daemon
|
||||||
from daemon import pidfile
|
from daemon import pidfile
|
||||||
|
from signal import SIGTERM
|
||||||
|
|
||||||
if __name__ == "__main__":
|
def start(pid_path):
|
||||||
|
#print("starting")
|
||||||
with daemon.DaemonContext(
|
with daemon.DaemonContext(
|
||||||
working_directory=os.getcwd(),
|
working_directory=os.getcwd(),
|
||||||
pidfile=pidfile.TimeoutPIDLockFile("/var/run/tra-daemon.pid"),
|
pidfile=pidfile.TimeoutPIDLockFile(pid_path),
|
||||||
):
|
):
|
||||||
if sys.platform.startswith("win"):
|
|
||||||
multiprocessing.freeze_support()
|
|
||||||
start_server = websockets.serve(main, "127.0.0.1", 5678)
|
start_server = websockets.serve(main, "127.0.0.1", 5678)
|
||||||
asyncio.get_event_loop().run_until_complete(start_server)
|
asyncio.get_event_loop().run_until_complete(start_server)
|
||||||
asyncio.get_event_loop().run_forever()
|
asyncio.get_event_loop().run_forever()
|
||||||
|
|
||||||
|
def stop(pid_path):
|
||||||
|
#print("stopping")
|
||||||
|
try:
|
||||||
|
pf = open(pid_path, 'r')
|
||||||
|
pid = int(pf.read().strip())
|
||||||
|
pf.close()
|
||||||
|
except IOError:
|
||||||
|
sys.stderr.write("pidfile at <" + pid_path + "> does not exist. Daemon not running?\n")
|
||||||
|
return
|
||||||
|
|
||||||
|
try:
|
||||||
|
os.kill(pid, SIGTERM)
|
||||||
|
return
|
||||||
|
except OSError as err:
|
||||||
|
if err.find("No such process") > 0:
|
||||||
|
if os.path.exists(pid_path):
|
||||||
|
os.remove(pid_path)
|
||||||
|
else:
|
||||||
|
print(str(err))
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
def restart(pid_path):
|
||||||
|
#print("restarting")
|
||||||
|
stop(pid_path)
|
||||||
|
start(pid_path)
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
pid_path = "/var/run/tra-daemon.pid"
|
||||||
|
if len(sys.argv) == 2:
|
||||||
|
if 'start' == sys.argv[1]:
|
||||||
|
start(pid_path)
|
||||||
|
elif 'stop' == sys.argv[1]:
|
||||||
|
stop(pid_path)
|
||||||
|
elif 'restart' == sys.argv[1]:
|
||||||
|
restart(pid_path)
|
||||||
|
else:
|
||||||
|
print("usage: %s start|stop|restart" % sys.argv[0])
|
||||||
|
sys.exit(2)
|
||||||
|
sys.exit(0)
|
||||||
|
else:
|
||||||
|
print("usage: %s start|stop|restart" % sys.argv[0])
|
||||||
|
sys.exit(2)
|
Loading…
Reference in New Issue
Block a user