Jupyter Lab gets killed with message "received signal 15, stopping"

I start Jupyter Lab on a Server with jupyter lab --port=8888 --no-browser --ip= and initially it works. It runs on a Debian Server and I use --ip= for port forwarding.

Several times I had colleagues complaining that they have problems with connecting to the Jupyter Lab. In the log I see for example:

[D 2021-06-08 11:42:29.897 ServerApp] 200 GET /favicon.ico ( 1.62ms
[C 2021-06-08 11:55:46.856 ServerApp] received signal 15, stopping
[I 2021-06-08 11:55:46.858 ServerApp] Shutting down 0 kernels
[I 2021-06-08 11:55:46.858 ServerApp] Shutting down 0 terminals
[D 2021-06-08 12:26:16.209 ServerApp] Searching ['...REMOVED...', '...REMOVED.../.jupyter', '...REMOVED.../venv/etc/jupyter', '/usr/local/etc/jupyter', '/etc/jupyter'] for config files

This received signal 15, stopping I find several times in the log. And it correlates with the time of the complaints. Don’t have a clue where this signal is coming from. Any hints where I could have a look to further investigate the issue?

Are you managing the server yourself? What else is running on there? Have you checked the system logs for any warnings or errors? How are you managing all your users- do they have separate accounts and are they reach running JupyterLab on different ports?

Yes, we do. And here it comes, I know that “we” is kind of a nightmarish setup. We are a group of researchers at our institute who just have this server for our calculations and we, as the users, gave us probably way to many rights on that server instead of having a real admin.

There is running some other stuff for scientific calculations, R including Rstudio but on a different port, most of us run Python or R code via SSH.
The journalctl doesn’t show any logs of interest during that time I see received signal 15, stopping.
Each user can reach JupyterLab on their own port.

But technically what can cause a signal 15?
As no one of us was on the server at that time it was definitely not a manual kill -9 $pid_jupyter_lab.

Edit: Ah I didn’t mention that we have jupyter lab --port=8888 --no-browser --ip= running via a systemd service. I just realized that I probably should first check the systemd options.

OK, Systemd is another area to investigate, since depending on which options you use it may attempt to monitor and stop/restart your process if it thinks it’s failed. Are you running systemd in system or user mode?