CMS 3D CMS Logo

Functions
cmsScimarkStop Namespace Reference

Functions

def main ()
 

Function Documentation

def cmsScimarkStop.main ( )

Definition at line 9 of file cmsScimarkStop.py.

Referenced by cmsPerfSuiteKill.main().

9 def main():
10  #Use ps -ef to look for cmsScimarkLaunch processes
11  ps_stdouterr=subprocess.Popen("ps -efww|grep cmsScimarkLaunch|grep -v grep|grep -v 'sh -c'",shell=True,stdout=subprocess.PIPE, stderr=subprocess.STDOUT).stdout
12  if ps_stdouterr:
13  ps_lines=ps_stdouterr.readlines()
14  #print ps_lines
15  if ps_lines:
16  for line in ps_lines:
17  tokens=line.split()
18  #Look up the PID
19  PID=tokens[1]
20  #Look up the cpu core
21  core=tokens[9]
22  print "Found process:\n%s"%line[:-1] #to eliminate the extra \n
23  #Kill the PID
24  print "Killing process with PID %s"%PID
25  kill_stdouterr=subprocess.Popen("kill %s"%PID,shell=True,stdout=subprocess.PIPE, stderr=subprocess.STDOUT).stdout.read()
26  print kill_stdouterr
27  #Harvest the cmsScimark scores
28  #Look for the cmsScimark log:
29  if os.path.exists("cmsScimark_%s.log"%core):
30  #Create the results dir
31  mkdir_stdouterr=subprocess.Popen("mkdir cmsScimarkResults_cpu%s"%core,shell=True,stdout=subprocess.PIPE, stderr=subprocess.STDOUT).stdout.read()
32  print mkdir_stdouterr
33  #Execute the harvesting scrip cmsScimarkParser.py (it is in the release)
34  harvest_stdouterr=subprocess.Popen("cmsScimarkParser.py -i cmsScimark_%s.log -o cmsScimarkResults_cpu%s"%(core,core),shell=True,stdout=subprocess.PIPE, stderr=subprocess.STDOUT).stdout.read()
35  print harvest_stdouterr
36  else:
37  print "No cmsScimark_%s.log file was found for cpu%s, log might be in another directory!"%(core,core)
38  else:
39  print "No cmsScimarkLaunch processes found in the ps -ef output"
40  return 0
41