Hi all, first post!
A feature that I’d really like in JupyterLab is: a flag to shutdown a JupyterLab Server with a single KeyboardInterrupt/SIGINT/^C. I’m really not sure why this isn’t already a feature.
Here’s an example of a workaround (this may not be the optimal solution):
import os
import atexit
import signal
import jupyterlab.labapp
def main():
pid = os.fork()
if pid == 0:
try:
atexit.register(os.kill, os.getppid(), signal.SIGINT)
signal.pause()
except KeyboardInterrupt:
return
else:
jupyterlab.labapp.main([])
main()
Summary of code: Both processes receive a KeyboardInterrupt/SIGINT/^C. This causes the JupyterLab Server to receive its’ first KeyboardInterrupt/SIGINT/^C and the atexit function to send another SIGINT to the JupyterLab Server.
Since the JupyterLab Server shuts down with 2 KeyboardInterrupts/SIGINTs/^Cs, this method works.