def _terminiate_processes(cls, bundle_identifier): _log.info("Closing all terminating all processes with the bundle identifier %s" % bundle_identifier) from AppKit import NSRunningApplication processes = NSRunningApplication.runningApplicationsWithBundleIdentifier_(bundle_identifier) for process in processes: process.terminate()
def still_running(cls, apps): result = [] for app in apps: r = NSRunningApplication.runningApplicationsWithBundleIdentifier_(app.identifier) if r.count() > 0: result.append(app) return result
def closeBrowsers(self): _log.info('Closing all existing safari processes') safariInstances = NSRunningApplication.runningApplicationsWithBundleIdentifier_('com.apple.Safari') for safariInstance in safariInstances: safariInstance.terminate() if self.safariProcess: _log.info('Safari process console output:\nstdout: %s\nstderr: %s' % self.safariProcess.communicate()) if self.safariProcess.returncode: _log.error('Safari Crashed!')
def _terminate_processes(cls, process_name, bundle_id): from AppKit import NSRunningApplication _log.info('Closing all processes with name %s' % process_name) for app in NSRunningApplication.runningApplicationsWithBundleIdentifier_(bundle_id): app.terminate() # Give the app time to close time.sleep(2) if not app.isTerminated(): _log.error("Terminate failed. Killing.") subprocess.call(['/usr/bin/killall', process_name])
def closeBrowsers(self): _log.info('Closing all existing safari processes') safariInstances = NSRunningApplication.runningApplicationsWithBundleIdentifier_( 'com.apple.Safari') for safariInstance in safariInstances: safariInstance.terminate() if self.safariProcess: _log.info( 'Safari process console output:\nstdout: %s\nstderr: %s' % self.safariProcess.communicate()) if self.safariProcess.returncode: _log.error('Safari Crashed!')
def __init__(self, domain=None, name=None): if not (domain or name): raise Exception('Name or domain must be provided') self.domain = domain self.prefs = Prefs(self.domain) self.apps = NSRunningApplication.runningApplicationsWithBundleIdentifier_(self.domain) if self.apps: self.app = self.apps[0] name = name or self.app.localizedName() self.name = name
def stop(self): try: self.mouse_listener.stop() self.kb_listener.stop() for app in NSRunningApplication.runningApplicationsWithBundleIdentifier_( MOONLIGHT_BUNDLE_ID): count = 0 pid = app.processIdentifier() while count < 30 and pid_exists( pid): # app.isTerminated() is always false. app.forceTerminate() sleep(1) count += 1 except Exception: logger.exception('Failed to stop Moonlight.')
def closeBrowsers(self): _log.info('Closing all existing safari processes') safariInstances = NSRunningApplication.runningApplicationsWithBundleIdentifier_( 'com.apple.Safari') for safariInstance in safariInstances: safariInstance.terminate()
def closeBrowsers(self): _log.info('Closing all existing chrome processes') chromes = NSRunningApplication.runningApplicationsWithBundleIdentifier_( 'com.google.Chrome') for chrome in chromes: chrome.terminate()
def closeBrowsers(self): _log.info('Closing all existing chrome processes') chromes = NSRunningApplication.runningApplicationsWithBundleIdentifier_('com.google.Chrome') for chrome in chromes: chrome.terminate()