summaryrefslogtreecommitdiff
path: root/enhanced-position-service/scripts/StartHelperGeneric.py
diff options
context:
space:
mode:
Diffstat (limited to 'enhanced-position-service/scripts/StartHelperGeneric.py')
-rw-r--r--enhanced-position-service/scripts/StartHelperGeneric.py142
1 files changed, 0 insertions, 142 deletions
diff --git a/enhanced-position-service/scripts/StartHelperGeneric.py b/enhanced-position-service/scripts/StartHelperGeneric.py
deleted file mode 100644
index 6d10f66..0000000
--- a/enhanced-position-service/scripts/StartHelperGeneric.py
+++ /dev/null
@@ -1,142 +0,0 @@
-# vim: set noexpandtab sw=4 ts=4:
-# author: thomas.bader@bmw.de
-
-import os
-import subprocess
-import time
-import sys
-import signal
-
-# some issues with terminations.
-# time_cmd = ["/usr/bin/time", "-f", "cpu %P | user %U | system %S | %C"]
-
-
-'''
-Exmaple:
-
- # create server by helper
- file = open('/tmp/server.out', 'w')
- server = StartHelperGeneric(["server"], "server", file)
- client = StartHelperGeneric(["client"], "client-1")
-
- # start
- server.start()
- client.start()
-
- time.sleep(1)
-
- # stop them
- client.stop()
- server.stop()
- file.close()
-'''
-
-#--------------------------
-# generic
-#--------------------------
-class StartHelperGeneric:
- def __init__(self, cmd, name="unkown", out=sys.stdout):
- self.cmd = cmd
- self.name = name
- self.out = out
- self.env = os.environ
- print "%s: created" % self.name
-
- def setEnv(self, name, value):
- self.env[name] = value
- print self.env[name]
-
- def start(self):
- print "%s: starting ..." % self.name
- self.p = subprocess.Popen(self.cmd, stdin=subprocess.PIPE, stdout=self.out, stderr=sys.stderr, shell=True, env=self.env)
-
- def isTerminated(self):
- if self.p.poll() != None:
- return True
-
- def stop(self):
- # already terminated
- if self.isTerminated():
- print "%s: own termination triggered successfully!" % self.name
- return self.p.returncode
-
- # signal: SIGTERM
- self.p.send_signal(signal.SIGTERM)
- time.sleep(0.3)
- if self.isTerminated():
- print "%s: SIGTERM triggered successfully!" % self.name
- return self.p.returncode
-
- # signal: SIGINT (Ctr-C)
- self.p.send_signal(signal.SIGINT)
- time.sleep(0.3)
- if self.isTerminated():
- print "%s: Ctrl-C triggered successfully!" % self.name
- return self.p.returncode
-
- # terminate
- self.p.terminate()
- time.sleep(0.3)
- if self.isTerminated():
- print "%s: 'terminate' triggered successfully!" % self.name
- return self.p.returncode
-
- # kill
- self.p.kill()
- time.sleep(0.3)
- if self.isTerminated():
- print "%s: killed force successfully" % self.name
- return self.p.returncode
-
- print "%s: failed to terminate" % self.name
- return 1
-
- def stop_sigint(self):
- # signal: SIGINT (Ctr-C)
- self.p.send_signal(signal.SIGINT)
- time.sleep(0.3)
- if self.isTerminated():
- print "%s: Ctrl-C triggered successfully!" % self.name
- return self.p.returncode
-
-
-'''
-# demo how to customize your start/stop methods
-
-#-----------------------------------------------------------------------------
-# server
-#-----------------------------------------------------------------------------
-class StartHelperServer(StartHelperGeneric):
- def start(self):
- print "start 'server': %s" % self.name
- StartHelperGeneric.start(self)
-
- def stop(self):
- print "stop 'server': %s" % self.name
- # try by own methods
- if self.p.poll() == None:
- self.p.stdin.write("1")
- self.p.stdin.write("2")
- time.sleep(0.3) # 300 ms
- # use termination
- StartHelperGeneric.stop(self)
-
-#-----------------------------------------------------------------------------
-# client
-#-----------------------------------------------------------------------------
-class StartHelperClient(StartHelperGeneric):
- def start(self):
- print "start 'client': %s" % self.name
- StartHelperGeneric.start(self)
-
- def stop(self):
- print "stop 'client': %s" % self.name
- # try by own methods
- if self.p.poll() == None:
- self.p.stdin.write("1")
- time.sleep(2.0) # 2000 ms
- # use termination
- StartHelperGeneric.stop(self)
-*/
-'''
-