Python os.getpgrp() Examples
The following are 30
code examples of os.getpgrp().
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
os
, or try the search function
.
Example #1
Source File: service.py From oslo.service with Apache License 2.0 | 6 votes |
def _is_daemon(): # The process group for a foreground process will match the # process group of the controlling terminal. If those values do # not match, or ioctl() fails on the stdout file handle, we assume # the process is running in the background as a daemon. # http://www.gnu.org/software/bash/manual/bashref.html#Job-Control-Basics try: is_daemon = os.getpgrp() != os.tcgetpgrp(sys.stdout.fileno()) except io.UnsupportedOperation: # Could not get the fileno for stdout, so we must be a daemon. is_daemon = True except OSError as err: if err.errno == errno.ENOTTY: # Assume we are a daemon because there is no terminal. is_daemon = True else: raise return is_daemon
Example #2
Source File: test_ioctl.py From CTFCrackTools with GNU General Public License v3.0 | 6 votes |
def _check_ioctl_mutate_len(self, nbytes=None): buf = array.array('i') intsize = buf.itemsize ids = (os.getpgrp(), os.getsid(0)) # A fill value unlikely to be in `ids` fill = -12345 if nbytes is not None: # Extend the buffer so that it is exactly `nbytes` bytes long buf.extend([fill] * (nbytes // intsize)) self.assertEqual(len(buf) * intsize, nbytes) # sanity check else: buf.append(fill) with open("/dev/tty", "r") as tty: r = fcntl.ioctl(tty, termios.TIOCGPGRP, buf, 1) rpgrp = buf[0] self.assertEqual(r, 0) self.assertIn(rpgrp, ids)
Example #3
Source File: test_ioctl.py From android_universal with MIT License | 6 votes |
def _check_ioctl_mutate_len(self, nbytes=None): buf = array.array('i') intsize = buf.itemsize ids = (os.getpgrp(), os.getsid(0)) # A fill value unlikely to be in `ids` fill = -12345 if nbytes is not None: # Extend the buffer so that it is exactly `nbytes` bytes long buf.extend([fill] * (nbytes // intsize)) self.assertEqual(len(buf) * intsize, nbytes) # sanity check else: buf.append(fill) with open("/dev/tty", "rb") as tty: r = fcntl.ioctl(tty, termios.TIOCGPGRP, buf, 1) rpgrp = buf[0] self.assertEqual(r, 0) self.assertIn(rpgrp, ids)
Example #4
Source File: traitar.py From traitar with GNU General Public License v3.0 | 6 votes |
def check_dir(self, out_dir): if os.path.exists(out_dir): #check if the process is run in background try: if os.getpgrp() == os.tcgetpgrp(sys.stdout.fileno()): print self.user_message % out_dir user_input = raw_input() while user_input not in ["1", "2", "3"]: user_input = raw_input().strip() if user_input == "1": return False if user_input == "2": shutil.rmtree(out_dir) os.mkdir(out_dir) return True if user_input == "3": sys.exit(1) else: sys.stderr.write(self.error_message % out_dir) except OSError: sys.stderr.write(self.error_message % out_dir) else: os.mkdir(out_dir) return True
Example #5
Source File: test_ioctl.py From CTFCrackTools-V2 with GNU General Public License v3.0 | 6 votes |
def _check_ioctl_mutate_len(self, nbytes=None): buf = array.array('i') intsize = buf.itemsize ids = (os.getpgrp(), os.getsid(0)) # A fill value unlikely to be in `ids` fill = -12345 if nbytes is not None: # Extend the buffer so that it is exactly `nbytes` bytes long buf.extend([fill] * (nbytes // intsize)) self.assertEqual(len(buf) * intsize, nbytes) # sanity check else: buf.append(fill) with open("/dev/tty", "r") as tty: r = fcntl.ioctl(tty, termios.TIOCGPGRP, buf, 1) rpgrp = buf[0] self.assertEqual(r, 0) self.assertIn(rpgrp, ids)
Example #6
Source File: test_ioctl.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 6 votes |
def _check_ioctl_mutate_len(self, nbytes=None): buf = array.array('i') intsize = buf.itemsize ids = (os.getpgrp(), os.getsid(0)) # A fill value unlikely to be in `ids` fill = -12345 if nbytes is not None: # Extend the buffer so that it is exactly `nbytes` bytes long buf.extend([fill] * (nbytes // intsize)) self.assertEqual(len(buf) * intsize, nbytes) # sanity check else: buf.append(fill) with open("/dev/tty", "rb") as tty: r = fcntl.ioctl(tty, termios.TIOCGPGRP, buf, 1) rpgrp = buf[0] self.assertEqual(r, 0) self.assertIn(rpgrp, ids)
Example #7
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 #8
Source File: test_ioctl.py From gcblue with BSD 3-Clause "New" or "Revised" License | 6 votes |
def _check_ioctl_mutate_len(self, nbytes=None): buf = array.array('i') intsize = buf.itemsize ids = (os.getpgrp(), os.getsid(0)) # A fill value unlikely to be in `ids` fill = -12345 if nbytes is not None: # Extend the buffer so that it is exactly `nbytes` bytes long buf.extend([fill] * (nbytes // intsize)) self.assertEqual(len(buf) * intsize, nbytes) # sanity check else: buf.append(fill) with open("/dev/tty", "r") as tty: r = fcntl.ioctl(tty, termios.TIOCGPGRP, buf, 1) rpgrp = buf[0] self.assertEqual(r, 0) self.assertIn(rpgrp, ids)
Example #9
Source File: test_ioctl.py From ironpython3 with Apache License 2.0 | 6 votes |
def _check_ioctl_mutate_len(self, nbytes=None): buf = array.array('i') intsize = buf.itemsize ids = (os.getpgrp(), os.getsid(0)) # A fill value unlikely to be in `ids` fill = -12345 if nbytes is not None: # Extend the buffer so that it is exactly `nbytes` bytes long buf.extend([fill] * (nbytes // intsize)) self.assertEqual(len(buf) * intsize, nbytes) # sanity check else: buf.append(fill) with open("/dev/tty", "rb") as tty: r = fcntl.ioctl(tty, termios.TIOCGPGRP, buf, 1) rpgrp = buf[0] self.assertEqual(r, 0) self.assertIn(rpgrp, ids)
Example #10
Source File: test_ioctl.py From Fluid-Designer with GNU General Public License v3.0 | 6 votes |
def _check_ioctl_mutate_len(self, nbytes=None): buf = array.array('i') intsize = buf.itemsize ids = (os.getpgrp(), os.getsid(0)) # A fill value unlikely to be in `ids` fill = -12345 if nbytes is not None: # Extend the buffer so that it is exactly `nbytes` bytes long buf.extend([fill] * (nbytes // intsize)) self.assertEqual(len(buf) * intsize, nbytes) # sanity check else: buf.append(fill) with open("/dev/tty", "rb") as tty: r = fcntl.ioctl(tty, termios.TIOCGPGRP, buf, 1) rpgrp = buf[0] self.assertEqual(r, 0) self.assertIn(rpgrp, ids)
Example #11
Source File: test_ioctl.py From ironpython2 with Apache License 2.0 | 6 votes |
def _check_ioctl_mutate_len(self, nbytes=None): buf = array.array('i') intsize = buf.itemsize ids = (os.getpgrp(), os.getsid(0)) # A fill value unlikely to be in `ids` fill = -12345 if nbytes is not None: # Extend the buffer so that it is exactly `nbytes` bytes long buf.extend([fill] * (nbytes // intsize)) self.assertEqual(len(buf) * intsize, nbytes) # sanity check else: buf.append(fill) with open("/dev/tty", "r") as tty: r = fcntl.ioctl(tty, termios.TIOCGPGRP, buf, 1) rpgrp = buf[0] self.assertEqual(r, 0) self.assertIn(rpgrp, ids)
Example #12
Source File: test_ioctl.py From oss-ftp with MIT License | 6 votes |
def _check_ioctl_mutate_len(self, nbytes=None): buf = array.array('i') intsize = buf.itemsize ids = (os.getpgrp(), os.getsid(0)) # A fill value unlikely to be in `ids` fill = -12345 if nbytes is not None: # Extend the buffer so that it is exactly `nbytes` bytes long buf.extend([fill] * (nbytes // intsize)) self.assertEqual(len(buf) * intsize, nbytes) # sanity check else: buf.append(fill) with open("/dev/tty", "r") as tty: r = fcntl.ioctl(tty, termios.TIOCGPGRP, buf, 1) rpgrp = buf[0] self.assertEqual(r, 0) self.assertIn(rpgrp, ids)
Example #13
Source File: test_ioctl.py From BinderFilter with MIT License | 6 votes |
def _check_ioctl_mutate_len(self, nbytes=None): buf = array.array('i') intsize = buf.itemsize ids = (os.getpgrp(), os.getsid(0)) # A fill value unlikely to be in `ids` fill = -12345 if nbytes is not None: # Extend the buffer so that it is exactly `nbytes` bytes long buf.extend([fill] * (nbytes // intsize)) self.assertEqual(len(buf) * intsize, nbytes) # sanity check else: buf.append(fill) with open("/dev/tty", "r") as tty: r = fcntl.ioctl(tty, termios.TIOCGPGRP, buf, 1) rpgrp = buf[0] self.assertEqual(r, 0) self.assertIn(rpgrp, ids)
Example #14
Source File: test_ioctl.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 5 votes |
def test_ioctl(self): # If this process has been put into the background, TIOCGPGRP returns # the session ID instead of the process group id. ids = (os.getpgrp(), os.getsid(0)) with open("/dev/tty", "rb") as tty: r = fcntl.ioctl(tty, termios.TIOCGPGRP, " ") rpgrp = struct.unpack("i", r)[0] self.assertIn(rpgrp, ids)
Example #15
Source File: test_ioctl.py From ironpython2 with Apache License 2.0 | 5 votes |
def test_ioctl(self): # If this process has been put into the background, TIOCGPGRP returns # the session ID instead of the process group id. ids = (os.getpgrp(), os.getsid(0)) tty = open("/dev/tty", "r") r = fcntl.ioctl(tty, termios.TIOCGPGRP, " ") rpgrp = struct.unpack("i", r)[0] self.assertIn(rpgrp, ids)
Example #16
Source File: test_ioctl.py From CTFCrackTools with GNU General Public License v3.0 | 5 votes |
def test_ioctl(self): # If this process has been put into the background, TIOCGPGRP returns # the session ID instead of the process group id. ids = (os.getpgrp(), os.getsid(0)) tty = open("/dev/tty", "r") r = fcntl.ioctl(tty, termios.TIOCGPGRP, " ") rpgrp = struct.unpack("i", r)[0] self.assertIn(rpgrp, ids)
Example #17
Source File: test_ioctl.py From android_universal with MIT License | 5 votes |
def test_ioctl(self): # If this process has been put into the background, TIOCGPGRP returns # the session ID instead of the process group id. ids = (os.getpgrp(), os.getsid(0)) with open("/dev/tty", "rb") as tty: r = fcntl.ioctl(tty, termios.TIOCGPGRP, " ") rpgrp = struct.unpack("i", r)[0] self.assertIn(rpgrp, ids)
Example #18
Source File: shutit_global.py From shutit with MIT License | 5 votes |
def determine_interactive(self): """Determine whether we're in an interactive shell. Sets interactivity off if appropriate. cf http://stackoverflow.com/questions/24861351/how-to-detect-if-python-script-is-being-run-as-a-background-process """ try: if not sys.stdout.isatty() or os.getpgrp() != os.tcgetpgrp(sys.stdout.fileno()): self.interactive = 0 return False except Exception: self.interactive = 0 return False if self.interactive == 0: return False return True
Example #19
Source File: util_gpid.py From vnpy_crypto with MIT License | 5 votes |
def _save_gpid(): plat = str(platform.system()) if plat == 'Windows': gpid = os.getpid() else: # unix gpid = os.getpgrp() if USE_GPID else os.getpid() print( 'gpid={}'.format(gpid)) with open(gpid_file, 'w') as f: f.write(str(gpid)) print(u'wrote gpid file:{}'.format(gpid_file))
Example #20
Source File: test_ioctl.py From CTFCrackTools-V2 with GNU General Public License v3.0 | 5 votes |
def test_ioctl(self): # If this process has been put into the background, TIOCGPGRP returns # the session ID instead of the process group id. ids = (os.getpgrp(), os.getsid(0)) tty = open("/dev/tty", "r") r = fcntl.ioctl(tty, termios.TIOCGPGRP, " ") rpgrp = struct.unpack("i", r)[0] self.assertIn(rpgrp, ids)
Example #21
Source File: __init__.py From epdb with MIT License | 5 votes |
def switch_pgid(self): try: if os.getpgrp() != os.tcgetpgrp(0): self.__old_pgid = os.getpgrp() os.setpgid(0, os.tcgetpgrp(0)) else: self.__old_pgid = None except OSError: self.__old_pgid = None
Example #22
Source File: __init__.py From conary with Apache License 2.0 | 5 votes |
def switch_pgid(self): try: if os.getpgrp() != os.tcgetpgrp(0): self.__old_pgid = os.getpgrp() os.setpgid(0, os.tcgetpgrp(0)) else: self.__old_pgid = None except OSError: self.__old_pgid = None
Example #23
Source File: logger.py From conary with Apache License 2.0 | 5 votes |
def _controlTerminal(self): try: # the child should control stdin -- if stdin is a tty # that can be controlled if sys.stdin.isatty(): os.tcsetpgrp(0, os.getpgrp()) except AttributeError: # stdin might not even have an isatty method pass
Example #24
Source File: test_ioctl.py From medicare-demo with Apache License 2.0 | 5 votes |
def test_ioctl_mutate(self): import array buf = array.array('i', [0]) ids = (os.getpgrp(), os.getsid(0)) tty = open("/dev/tty", "r") r = fcntl.ioctl(tty, termios.TIOCGPGRP, buf, 1) rpgrp = buf[0] self.assertEquals(r, 0) self.assert_(rpgrp in ids, "%s not in %s" % (rpgrp, ids))
Example #25
Source File: test_ioctl.py From medicare-demo with Apache License 2.0 | 5 votes |
def test_ioctl(self): # If this process has been put into the background, TIOCGPGRP returns # the session ID instead of the process group id. ids = (os.getpgrp(), os.getsid(0)) tty = open("/dev/tty", "r") r = fcntl.ioctl(tty, termios.TIOCGPGRP, " ") rpgrp = struct.unpack("i", r)[0] self.assert_(rpgrp in ids, "%s not in %s" % (rpgrp, ids))
Example #26
Source File: test_ioctl.py From BinderFilter with MIT License | 5 votes |
def test_ioctl(self): # If this process has been put into the background, TIOCGPGRP returns # the session ID instead of the process group id. ids = (os.getpgrp(), os.getsid(0)) tty = open("/dev/tty", "r") r = fcntl.ioctl(tty, termios.TIOCGPGRP, " ") rpgrp = struct.unpack("i", r)[0] self.assertIn(rpgrp, ids)
Example #27
Source File: forwarder.py From Jandroid with BSD 3-Clause "New" or "Revised" License | 5 votes |
def _GetPidForLock(): """Returns the PID used for host_forwarder initialization. The PID of the "sharder" is used to handle multiprocessing. The "sharder" is the initial process that forks that is the parent process. """ return os.getpgrp()
Example #28
Source File: test_ioctl.py From oss-ftp with MIT License | 5 votes |
def test_ioctl(self): # If this process has been put into the background, TIOCGPGRP returns # the session ID instead of the process group id. ids = (os.getpgrp(), os.getsid(0)) tty = open("/dev/tty", "r") r = fcntl.ioctl(tty, termios.TIOCGPGRP, " ") rpgrp = struct.unpack("i", r)[0] self.assertIn(rpgrp, ids)
Example #29
Source File: test_ioctl.py From gcblue with BSD 3-Clause "New" or "Revised" License | 5 votes |
def test_ioctl(self): # If this process has been put into the background, TIOCGPGRP returns # the session ID instead of the process group id. ids = (os.getpgrp(), os.getsid(0)) tty = open("/dev/tty", "r") r = fcntl.ioctl(tty, termios.TIOCGPGRP, " ") rpgrp = struct.unpack("i", r)[0] self.assertIn(rpgrp, ids)
Example #30
Source File: services.py From ray with Apache License 2.0 | 5 votes |
def start_reaper(fate_share=None): """Start the reaper process. This is a lightweight process that simply waits for its parent process to die and then terminates its own process group. This allows us to ensure that ray processes are always terminated properly so long as that process itself isn't SIGKILLed. Returns: ProcessInfo for the process that was started. """ # Make ourselves a process group leader so that the reaper can clean # up other ray processes without killing the process group of the # process that started us. try: if sys.platform != "win32": os.setpgrp() except OSError as e: errcode = e.errno if errcode == errno.EPERM and os.getpgrp() == os.getpid(): # Nothing to do; we're already a session leader. pass else: logger.warning("setpgrp failed, processes may not be " "cleaned up properly: {}.".format(e)) # Don't start the reaper in this case as it could result in killing # other user processes. return None reaper_filepath = os.path.join( os.path.dirname(os.path.abspath(__file__)), "ray_process_reaper.py") command = [sys.executable, "-u", reaper_filepath] process_info = start_ray_process( command, ray_constants.PROCESS_TYPE_REAPER, pipe_stdin=True, fate_share=fate_share) return process_info