mirror of
				https://github.com/apache/cloudstack.git
				synced 2025-10-26 08:42:29 +01:00 
			
		
		
		
	* dependencies update * Add extra blank line required by ...!? * fix W605 invalid escape sequence and more blank lines * print all installed python packages versions
		
			
				
	
	
		
			66 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			66 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
| # -- coding: utf-8 --
 | |
| # Licensed to the Apache Software Foundation (ASF) under one
 | |
| # or more contributor license agreements.  See the NOTICE file
 | |
| # distributed with this work for additional information
 | |
| # regarding copyright ownership.  The ASF licenses this file
 | |
| # to you under the Apache License, Version 2.0 (the
 | |
| # "License"); you may not use this file except in compliance
 | |
| # with the License.  You may obtain a copy of the License at
 | |
| #
 | |
| # http://www.apache.org/licenses/LICENSE-2.0
 | |
| #
 | |
| # Unless required by applicable law or agreed to in writing,
 | |
| # software distributed under the License is distributed on an
 | |
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 | |
| # KIND, either express or implied.  See the License for the
 | |
| # specific language governing permissions and limitations
 | |
| # under the License.
 | |
| import os
 | |
| import re
 | |
| import CsHelper
 | |
| import logging
 | |
| 
 | |
| 
 | |
| class CsProcess(object):
 | |
|     """ Manipulate processes """
 | |
| 
 | |
|     def __init__(self, search):
 | |
|         self.search = search
 | |
| 
 | |
|     def start(self, thru, background=''):
 | |
|         # if(background):
 | |
|         #     cmd = cmd + " &"
 | |
|         logging.info("Started %s", " ".join(self.search))
 | |
|         os.system("%s %s %s" % (thru, " ".join(self.search), background))
 | |
| 
 | |
|     def kill_all(self):
 | |
|         pids = self.find_pid()
 | |
|         for p in pids:
 | |
|             CsHelper.execute("kill -9 %s" % p)
 | |
| 
 | |
|     def find_pid(self):
 | |
|         self.pid = []
 | |
|         for i in CsHelper.execute("ps aux"):
 | |
|             items = len(self.search)
 | |
|             proc = re.split(r"\s+", i)[items*-1:]
 | |
|             matches = len([m for m in proc if m in self.search])
 | |
|             if matches == items:
 | |
|                 self.pid.append(re.split(r"\s+", i)[1])
 | |
| 
 | |
|         logging.debug("CsProcess:: Searching for process ==> %s and found PIDs ==> %s", self.search, self.pid)
 | |
|         return self.pid
 | |
| 
 | |
|     def find(self):
 | |
|         has_pid = len(self.find_pid()) > 0
 | |
|         return has_pid
 | |
| 
 | |
|     def kill(self, pid):
 | |
|         if pid > 1:
 | |
|             CsHelper.execute("kill -9 %s" % pid)
 | |
| 
 | |
|     def grep(self, str):
 | |
|         for i in CsHelper.execute("ps aux"):
 | |
|             if i.find(str) != -1:
 | |
|                 return re.split(r"\s+", i)[1]
 | |
|         return -1
 |