Python signal.SIGSTOP Examples
The following are 30
code examples of signal.SIGSTOP().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
signal
, or try the search function
.
Example #1
Source File: tkconch.py From Safejumper-for-Desktop with GNU General Public License v2.0 | 6 votes |
def handleInput(self, char): #log.msg('handling %s' % repr(char)) if char in ('\n', '\r'): self.escapeMode = 1 self.write(char) elif self.escapeMode == 1 and char == options['escape']: self.escapeMode = 2 elif self.escapeMode == 2: self.escapeMode = 1 # so we can chain escapes together if char == '.': # disconnect log.msg('disconnecting from escape') reactor.stop() return elif char == '\x1a': # ^Z, suspend # following line courtesy of Erwin@freenode os.kill(os.getpid(), signal.SIGSTOP) return elif char == 'R': # rekey connection log.msg('rekeying connection') self.conn.transport.sendKexInit() return self.write('~' + char) else: self.escapeMode = 0 self.write(char)
Example #2
Source File: tkconch.py From BitTorrent with GNU General Public License v3.0 | 6 votes |
def handleInput(self, char): #log.msg('handling %s' % repr(char)) if char in ('\n', '\r'): self.escapeMode = 1 self.write(char) elif self.escapeMode == 1 and char == options['escape']: self.escapeMode = 2 elif self.escapeMode == 2: self.escapeMode = 1 # so we can chain escapes together if char == '.': # disconnect log.msg('disconnecting from escape') reactor.stop() return elif char == '\x1a': # ^Z, suspend # following line courtesy of Erwin@freenode os.kill(os.getpid(), signal.SIGSTOP) return elif char == 'R': # rekey connection log.msg('rekeying connection') self.conn.transport.sendKexInit() return self.write('~' + char) else: self.escapeMode = 0 self.write(char)
Example #3
Source File: process.py From darkc0de-old-stuff with GNU General Public License v3.0 | 6 votes |
def waitExit(self): debug("Wait %s exit" % self) while True: # Wait for any process signal event = self.waitEvent() event_cls = event.__class__ # Process exited: we are done if event_cls == ProcessExit: debug(str(event)) return # Event different than a signal? Raise an exception if event_cls != ProcessSignal: raise event # Send the signal to the process signum = event.signum if signum not in (SIGTRAP, SIGSTOP): self.cont(signum) else: self.cont()
Example #4
Source File: tkconch.py From python-for-android with Apache License 2.0 | 6 votes |
def handleInput(self, char): #log.msg('handling %s' % repr(char)) if char in ('\n', '\r'): self.escapeMode = 1 self.write(char) elif self.escapeMode == 1 and char == options['escape']: self.escapeMode = 2 elif self.escapeMode == 2: self.escapeMode = 1 # so we can chain escapes together if char == '.': # disconnect log.msg('disconnecting from escape') reactor.stop() return elif char == '\x1a': # ^Z, suspend # following line courtesy of Erwin@freenode os.kill(os.getpid(), signal.SIGSTOP) return elif char == 'R': # rekey connection log.msg('rekeying connection') self.conn.transport.sendKexInit() return self.write('~' + char) else: self.escapeMode = 0 self.write(char)
Example #5
Source File: LinProcess.py From memorpy with GNU General Public License v3.0 | 6 votes |
def _ptrace(self, attach): op = ctypes.c_int(PTRACE_ATTACH if attach else PTRACE_DETACH) c_pid = c_pid_t(self.pid) null = ctypes.c_void_p() if not attach: os.kill(self.pid, signal.SIGSTOP) os.waitpid(self.pid, 0) err = c_ptrace(op, c_pid, null, null) if not attach: os.kill(self.pid, signal.SIGCONT) if err != 0: raise OSError("%s: %s"%( 'PTRACE_ATTACH' if attach else 'PTRACE_DETACH', errno.errorcode.get(ctypes.get_errno(), 'UNKNOWN') ))
Example #6
Source File: timeshare.py From TikZ with GNU General Public License v3.0 | 6 votes |
def execute(self,dt): if self.finished: return "finished" if not self.running: self.process = Process(target = executeInProcessGroup, args = (self,)) self.process.start() print "timeshare child PID:",self.process.pid os.setpgid(self.process.pid,self.process.pid) print "timeshare process group",os.getpgid(self.process.pid) assert os.getpgid(self.process.pid) == self.process.pid print "my process group",os.getpgrp(),"which should be",os.getpgid(0) assert os.getpgid(self.process.pid) != os.getpgid(0) self.running = True else: os.killpg(self.process.pid, signal.SIGCONT) self.process.join(dt) if self.process.is_alive(): os.killpg(self.process.pid, signal.SIGSTOP) return "still running" else: self.finished = True return self.q.get()
Example #7
Source File: run_driver_plugin.py From temci with GNU General Public License v3.0 | 6 votes |
def setup(self): self.parse_processes() for proc in self._processes.values(): if proc["pid"] == os.getpid(): continue if any(proc["comm"].startswith(pref) for pref in self.misc_settings["comm_prefixes_ignored"]): continue if proc["nice"] == "-" or int(proc["nice"]) < self.misc_settings["min_nice"]: continue suffixes = self.misc_settings["subtree_suffixes"] if any(proc["comm"].startswith(pref) for pref in self.misc_settings["comm_prefixes"]) or \ proc["pid"] >= self.misc_settings["min_id"] or \ any(any(pcomm.endswith(suff) for suff in suffixes) for pcomm in self._get_pcomms(proc["pid"])): if self.misc_settings["dry_run"]: logging.info(self._proc_dict_to_str(proc)) else: self._pids.append(proc["pid"]) if self.misc_settings["dry_run"]: raise KeyboardInterrupt() self._send_signal(signal.SIGSTOP)
Example #8
Source File: tracer.py From judge-server with GNU Affero General Public License v3.0 | 6 votes |
def _shocker_thread(self): # On Linux, ignored signals still cause a notification under ptrace. # Hence, we use SIGWINCH, harmless and ignored signal to make wait4 return # pt_process::monitor, causing time to be updated. # On FreeBSD, a signal must not be ignored in order for wait4 to return. # Hence, we swallow SIGSTOP, which should never be used anyway, and use it # force an update. wake_signal = signal.SIGSTOP if 'freebsd' in sys.platform else signal.SIGWINCH self._spawned_or_errored.wait() while not self._died.wait(1): if self.execution_time > self._time or self.wall_clock_time > self._wall_time: log.warning('Shocker activated and killed %d', self.pid) self.kill() self._is_tle = True break try: os.killpg(self.pid, wake_signal) except OSError: pass
Example #9
Source File: test_process.py From psutil with BSD 3-Clause "New" or "Revised" License | 6 votes |
def test_wait_stopped(self): p = self.spawn_psproc() if POSIX: # Test waitpid() + WIFSTOPPED and WIFCONTINUED. # Note: if a process is stopped it ignores SIGTERM. p.send_signal(signal.SIGSTOP) self.assertRaises(psutil.TimeoutExpired, p.wait, timeout=0.001) p.send_signal(signal.SIGCONT) self.assertRaises(psutil.TimeoutExpired, p.wait, timeout=0.001) p.send_signal(signal.SIGTERM) self.assertEqual(p.wait(), -signal.SIGTERM) self.assertEqual(p.wait(), -signal.SIGTERM) else: p.suspend() self.assertRaises(psutil.TimeoutExpired, p.wait, timeout=0.001) p.resume() self.assertRaises(psutil.TimeoutExpired, p.wait, timeout=0.001) p.terminate() self.assertEqual(p.wait(), signal.SIGTERM) self.assertEqual(p.wait(), signal.SIGTERM)
Example #10
Source File: glib_events.py From pychess with GNU General Public License v3.0 | 6 votes |
def add_signal_handler(self, sig, callback, *args): self.remove_signal_handler(sig) s = GLib.unix_signal_source_new(sig) if s is None: # Show custom error messages for signal that are uncatchable if sig == signal.SIGKILL: raise RuntimeError("cannot catch SIGKILL") elif sig == signal.SIGSTOP: raise RuntimeError("cannot catch SIGSTOP") else: raise ValueError("signal not supported") assert sig not in self._sighandlers self._sighandlers[sig] = GLibHandle( loop=self, source=s, repeat=True, callback=callback, args=args)
Example #11
Source File: tkconch.py From learn_python3_spider with MIT License | 6 votes |
def handleInput(self, char): #log.msg('handling %s' % repr(char)) if char in ('\n', '\r'): self.escapeMode = 1 self.write(char) elif self.escapeMode == 1 and char == options['escape']: self.escapeMode = 2 elif self.escapeMode == 2: self.escapeMode = 1 # so we can chain escapes together if char == '.': # disconnect log.msg('disconnecting from escape') reactor.stop() return elif char == '\x1a': # ^Z, suspend # following line courtesy of Erwin@freenode os.kill(os.getpid(), signal.SIGSTOP) return elif char == 'R': # rekey connection log.msg('rekeying connection') self.conn.transport.sendKexInit() return self.write('~' + char) else: self.escapeMode = 0 self.write(char)
Example #12
Source File: test_loop.py From python-afl with MIT License | 6 votes |
def _test_persistent(n, *args, **kwargs): os.environ['PYTHON_AFL_PERSISTENT'] = '1' n_max = 1000 k = [0] def kill(pid, sig): assert_equal(pid, os.getpid()) assert_equal(sig, signal.SIGSTOP) k[0] += 1 os.kill = kill x = 0 while afl.loop(*args, **kwargs): x += 1 if x == n_max: break if n is None: n = n_max assert_equal(x, n) assert_equal(k[0], n - 1)
Example #13
Source File: receivexlog.py From pghoard with Apache License 2.0 | 5 votes |
def pause_pg_receivewal(self): if self.receiver_paused or not self.pid: return os.kill(self.pid, signal.SIGSTOP) self.receiver_paused = True
Example #14
Source File: __init__.py From Splunking-Crime with GNU Affero General Public License v3.0 | 5 votes |
def suspend(self): """Suspend process execution with SIGSTOP pre-emptively checking whether PID has been reused. On Windows this has the effect ot suspending all process threads. """ if POSIX: self._send_signal(signal.SIGSTOP) else: # pragma: no cover self._proc.suspend()
Example #15
Source File: player.py From NetEase-MusicBox with MIT License | 5 votes |
def pause(self): self.pause_flag = True os.kill(self.popen_handler.pid, signal.SIGSTOP) item = self.songs[ self.idx ] self.ui.build_playinfo(item['song_name'], item['artist'], item['album_name'], pause=True)
Example #16
Source File: debugger.py From darkc0de-old-stuff with GNU General Public License v3.0 | 5 votes |
def addProcess(self, pid, is_attached, parent=None): if pid in self.dict: raise KeyError("Process % is already registered!" % pid) process = PtraceProcess(self, pid, is_attached, parent=parent) info("Attach %s to debugger" % process) self.dict[pid] = process self.list.append(process) process.waitSignals(SIGTRAP, SIGSTOP) if HAS_PTRACE_EVENTS and self.options: process.setoptions(self.options) return process
Example #17
Source File: test_watchdog.py From landscape-client with GNU General Public License v2.0 | 5 votes |
def test_wait_or_die_kills(self): """ wait_or_die eventually falls back to KILLing a process, after waiting and terminating don't work. """ output_filename = self.makeFile("NOT RUN") self._write_script( ("#!%s\n" "import signal, os\n" "signal.signal(signal.SIGTERM, signal.SIG_IGN)\n" "file = open(%r, 'w')\n" "file.write('RUN')\n" "file.close()\n" "os.kill(os.getpid(), signal.SIGSTOP)\n" ) % (sys.executable, output_filename)) self.addCleanup(setattr, landscape.client.watchdog, "SIGKILL_DELAY", landscape.client.watchdog.SIGKILL_DELAY) self.addCleanup(setattr, landscape.client.watchdog, "GRACEFUL_WAIT_PERIOD", landscape.client.watchdog.GRACEFUL_WAIT_PERIOD) landscape.client.watchdog.GRACEFUL_WAIT_PERIOD = 1 landscape.client.watchdog.SIGKILL_DELAY = 1 waiter = FileChangeWaiter(output_filename) self.daemon.start() waiter.wait() self.assertEqual(open(output_filename).read(), "RUN") return self.daemon.wait_or_die()
Example #18
Source File: tools.py From backintime with GNU General Public License v2.0 | 5 votes |
def processPaused(pid): """ Check if process ``pid`` is paused (got signal SIGSTOP). Args: pid (int): Process Indicator Returns: bool: True if process is paused """ m = re.match(r'\d+ \(.+\) T', processStat(pid)) return bool(m)
Example #19
Source File: tools.py From backintime with GNU General Public License v2.0 | 5 votes |
def pause(self, signum, frame): """ Slot which will send ``SIGSTOP`` to the command. Is connected to signal ``SIGTSTP``. """ if self.pausable and self.currentProc: logger.info('Pause process "%s"' %self.printable_cmd, self.parent, 2) return self.currentProc.send_signal(signal.SIGSTOP)
Example #20
Source File: test_tools.py From backintime with GNU General Public License v2.0 | 5 votes |
def test_processPaused(self): pid = self.createProcess() self.assertFalse(tools.processPaused(pid)) self.subproc.send_signal(signal.SIGSTOP) sleep(0.01) self.assertTrue(tools.processPaused(pid)) self.subproc.send_signal(signal.SIGCONT) sleep(0.01) self.assertFalse(tools.processPaused(pid))
Example #21
Source File: nap_my_app.py From ForceNap with MIT License | 5 votes |
def suspend(self): ''' Suspend application and all processes associated with it ''' if self.name in SUSPENSION_WHITELIST: return for pid in self.get_pids(): if pid not in suspended_pids: logger.debug('Suspending %s (%s)', self.pid, self.name) suspended_pids.add(pid) os.kill(pid, signal.SIGSTOP) return
Example #22
Source File: environment.py From patroni with MIT License | 5 votes |
def run(self): os.kill(self.pid, signal.SIGSTOP) try: self._cancelled.wait(self.timeout) finally: os.kill(self.pid, signal.SIGCONT)
Example #23
Source File: __init__.py From jarvis with GNU General Public License v2.0 | 5 votes |
def suspend(self): """Suspend process execution with SIGSTOP pre-emptively checking whether PID has been reused. On Windows this has the effect ot suspending all process threads. """ if POSIX: self._send_signal(signal.SIGSTOP) else: # pragma: no cover self._proc.suspend()
Example #24
Source File: screen.py From babi with MIT License | 5 votes |
def background(self) -> None: if sys.platform == 'win32': # pragma: win32 cover self.status.update('cannot run babi in background on Windows') else: # pragma: win32 no cover curses.endwin() os.kill(os.getpid(), signal.SIGSTOP) self.stdscr = _init_screen() self.resize()
Example #25
Source File: test_etcd3.py From python-etcd3 with Apache License 2.0 | 5 votes |
def _out_quorum(): pids = subprocess.check_output(['pgrep', '-f', '--', '--name pifpaf[12]']) pids = [int(pid.strip()) for pid in pids.splitlines()] try: for pid in pids: os.kill(pid, signal.SIGSTOP) yield finally: for pid in pids: os.kill(pid, signal.SIGCONT)
Example #26
Source File: __init__.py From azure-linux-extensions with Apache License 2.0 | 5 votes |
def suspend(self): """Suspend process execution with SIGSTOP pre-emptively checking whether PID has been reused. On Windows this has the effect ot suspending all process threads. """ if _POSIX: self._send_signal(signal.SIGSTOP) else: self._proc.suspend()
Example #27
Source File: __init__.py From azure-linux-extensions with Apache License 2.0 | 5 votes |
def suspend(self): """Suspend process execution with SIGSTOP pre-emptively checking whether PID has been reused. On Windows this has the effect ot suspending all process threads. """ if _POSIX: self._send_signal(signal.SIGSTOP) else: self._proc.suspend()
Example #28
Source File: __init__.py From backdoorme with MIT License | 5 votes |
def suspend(self): """Suspend process execution with SIGSTOP pre-emptively checking whether PID has been reused. On Windows this has the effect ot suspending all process threads. """ if _POSIX: self._send_signal(signal.SIGSTOP) else: self._proc.suspend()
Example #29
Source File: __init__.py From backdoorme with MIT License | 5 votes |
def suspend(self): """Suspend process execution with SIGSTOP pre-emptively checking whether PID has been reused. On Windows this has the effect ot suspending all process threads. """ if _POSIX: self._send_signal(signal.SIGSTOP) else: self._proc.suspend()
Example #30
Source File: __init__.py From Galaxy_Plugin_Bethesda with MIT License | 5 votes |
def suspend(self): """Suspend process execution with SIGSTOP pre-emptively checking whether PID has been reused. On Windows this has the effect ot suspending all process threads. """ if POSIX: self._send_signal(signal.SIGSTOP) else: # pragma: no cover self._proc.suspend()