Quitting interfaces¶
-
sage.interfaces.quit.
expect_quitall
(verbose=False)¶ EXAMPLES:
sage: sage.interfaces.quit.expect_quitall() sage: gp.eval('a=10') '10' sage: gp('a') 10 sage: sage.interfaces.quit.expect_quitall() sage: gp('a') a sage: sage.interfaces.quit.expect_quitall(verbose=True) Exiting PARI/GP interpreter with PID ... running .../bin/gp --fast --emacs --quiet --stacksize 10000000
-
sage.interfaces.quit.
invalidate_all
()¶ Invalidate all of the expect interfaces.
This is used, e.g., by the fork-based @parallel decorator.
EXAMPLES:
sage: a = maxima(2); b = gp(3) sage: a, b (2, 3) sage: sage.interfaces.quit.invalidate_all() sage: a (invalid Maxima object -- The maxima session in which this object was defined is no longer running.) sage: b (invalid PARI/GP interpreter object -- The pari session in which this object was defined is no longer running.)
However the maxima and gp sessions should still work out, though with their state reset:
sage: a = maxima(2); b = gp(3) sage: a, b (2, 3)
-
sage.interfaces.quit.
is_running
(pid)¶ Return True if and only if there is a process with id pid running.
-
sage.interfaces.quit.
kill_spawned_jobs
(verbose=False)¶ INPUT:
verbose
– bool (default: False); if True, display a message each time a process is sent a kill signal
EXAMPLES:
sage: gp.eval('a=10') '10' sage: sage.interfaces.quit.kill_spawned_jobs(verbose=False) sage: sage.interfaces.quit.expect_quitall() sage: gp.eval('a=10') '10' sage: sage.interfaces.quit.kill_spawned_jobs(verbose=True) Killing spawned job ...
After doing the above, we do the following to avoid confusion in other doctests:
sage: sage.interfaces.quit.expect_quitall()