From 34600bfcd7791fdc09ad7a03f5c2aa37b59dc42c Mon Sep 17 00:00:00 2001 From: Samo Penic <samo.penic@fe.uni-lj.si> Date: Tue, 15 Mar 2016 16:04:01 +0000 Subject: [PATCH] Added running status check. --- python/trisurf/trisurf.py | 19 ++++++++++++++++--- 1 files changed, 16 insertions(+), 3 deletions(-) diff --git a/python/trisurf/trisurf.py b/python/trisurf/trisurf.py index bf0809e..e54c6b8 100644 --- a/python/trisurf/trisurf.py +++ b/python/trisurf/trisurf.py @@ -9,6 +9,7 @@ from itertools import islice import mmap import shlex +import psutil ''' This is a trisurf instance manager written in python @@ -181,13 +182,25 @@ self.tape.setTape(tapetxt.text) def getStatus(self): - return 0 + self.Dir=Directory(maindir=self.maindir,simdir=self.subdir) + self.Dir.makeifnotexist() +# self.Dir.goto() + try: + fp = open(os.path.join(self.Dir.fullpath(),'.lock')) + except IOError as e: + return 0 #file probably does not exist. e==2?? + pid=fp.readline(); + fp.close(); + if(psutil.pid_exists(int(pid))): + return 1 + else: + return 0 def start(self): if(self.getStatus()==0): self.Dir=Directory(maindir=self.maindir,simdir=self.subdir) self.Dir.makeifnotexist() - self.Dir.goto() +# self.Dir.goto() print("Starting trisurf-ng executable at "+self.Dir.fullpath()+"\n") else: print("Process already running. Not starting\n") @@ -212,7 +225,7 @@ return def getStatistics(self, statfile="statistics.csv"): - self.statistics=Statistics("", statfile) # we are already in the running directory, so local path is needed! + self.statistics=Statistics(self.Dir.fullpath(), statfile) return def __str__(self): -- Gitblit v1.9.3