def update_fg_process_group(pipeline_group, background): if background: return False if not xp.ON_POSIX: return False env = builtins.__xonsh__.env if not env.get("XONSH_INTERACTIVE"): return False return xj.give_terminal_to(pipeline_group)
def update_process_group(pipeline_group, background): if not xp.ON_POSIX: return False env = XSH.env if not env.get("XONSH_INTERACTIVE"): return False if background: return True return xj.give_terminal_to(pipeline_group)
def _return_terminal(self): if xp.ON_WINDOWS or not xp.ON_POSIX: return pgid = os.getpgid(0) if self.term_pgid is None or pgid == self.term_pgid: return if xj.give_terminal_to(pgid): # if gave term succeed self.term_pgid = pgid if builtins.__xonsh__.shell is not None: # restoring sanity could probably be called whenever we return # control to the shell. But it only seems to matter after a # ^Z event. This *has* to be called after we give the terminal # back to the shell. builtins.__xonsh__.shell.shell.restore_tty_sanity()
def resume(self, job, tee_output=True): self.ended = False if xj.give_terminal_to(job["pgrp"]): self.term_pgid = job["pgrp"] xj._continue(job) self.end(tee_output=tee_output)