JupyterHub single user process running on backend

Hello,

There are lot of jupyterhub single user process running on the background for almost 15 days… All my users has closed their session from jupyterlab , but the process are running for long.

This is happening after my recent installation of anaconda release. Below are the version of jupyter and conda running on my platform
(base) conda --version
conda 25.1.0

(base) conda list jupyter

packages in environment at /opt/anaconda3:

Name Version Build Channel

jupyter 1.1.1 pyhd8ed1ab_1 conda-forge
jupyter-dash 0.4.2 pyhd8ed1ab_1 conda-forge
jupyter-lsp 2.2.5 pyhd8ed1ab_1 conda-forge
jupyter-resource-usage 1.1.0 pyhd8ed1ab_1 conda-forge
jupyter_client 8.6.3 pyhd8ed1ab_1 conda-forge
jupyter_console 6.6.3 pyhd8ed1ab_1 conda-forge
jupyter_core 5.7.2 py312h7900ff3_0 conda-forge
jupyter_events 0.11.0 pyhd8ed1ab_0 conda-forge
jupyter_scheduler 2.10.0 pyha770c72_0 conda-forge
jupyter_server 2.15.0 pyhd8ed1ab_0 conda-forge
jupyter_server_terminals 0.5.3 pyhd8ed1ab_1 conda-forge
jupyter_telemetry 0.1.0 pyhd8ed1ab_1 conda-forge
jupyterhub 5.2.1 pyh31011fe_0 conda-forge
jupyterhub-base 5.2.1 pyh31011fe_0 conda-forge
jupyterlab 4.3.5 pyhd8ed1ab_0 conda-forge
jupyterlab-variableinspector 3.2.4 pyhd8ed1ab_0 conda-forge
jupyterlab_pygments 0.3.0 pyhd8ed1ab_2 conda-forge
jupyterlab_server 2.27.3 pyhd8ed1ab_1 conda-forge
jupyterlab_widgets 3.0.13 pyhd8ed1ab_1 conda-forge

One example is below. I have logged out from my jupyterlab but below process is running from Feb05
(base)ps -ef | grep xxxx
xxxx 6081 5450 0 Feb05 ? 01:06:10 /opt/anaconda3/bin/python3.12 /opt/anaconda3/bin/jupyterhub-singleuser

Please let me know what could be the reason for this…

Could you please share the config of JupyterHub? Which spawner are you using? Just “Logging” out of JupyterLab does not kill the process. Your users need to “Stop” the running instances of single user servers from JupyterHub. If you cant be sure that your users will actually stop the servers, you can use jupyterhub-idle-culler that will kill the “Idle” instances of JupyterLab.

Thank you for your response… Sorry, Im new to this…What is meant by spawner here? We installed anaconda on the single linux server.

These are values are defined on the config. Others are commented out… I cannot able to copy the entire config file. Sorry

Configuration file for jupyterhub.

c.JupyterHub.ip = ‘xx.x.x.x’
c.JupyterHub.port = xxxx
c.JupyterHub.bind_url = ‘http://:xxxx/jupyter’
c.PAMAuthenticator.group_whitelist = {‘admins’,‘python_users’}
c.PAMAuthenticator.admin_groups = {‘admins’}
c.JupyterHub.extra_log_file = ‘/etc/jupyterhub/jupyterhub.log’
c.Spawner.default_url = ‘/lab’
c.Spawner.notebook_dir = ‘/mnt/lab’
c.JupyterHub.cookie_secret_file = ‘/srv/jupyterhub/jupyterhub_cookie_secret’
c.JupyterHub.db_url = ‘/srv/jupyterhub/jupyterhub.sqlite’

#SSL certs
c.JupyterHub.ssl_cert = ‘/etc/nginx/ssl/server1_2024.cer’
c.JupyterHub.ssl_key = ‘/etc/nginx/ssl/server1_2024.key’
c.ConfigurableHTTPProxy.command = ‘/opt/anaconda3/bin/configurable-http-proxy’
#c.LocalAuthenticator.create_system_users = True
c.PAMAuthenticator.open_sessions = False
c.Authenticator.allow_all = True

c.Spawner.cpu_limit = 1
c.NotebookApp.ssl_options = {
“ssl_version”: 5,
}

Spawner is the component that launches JupyterLab servers for individual users in the JupyterHub. I guess you are using default LocalProcessSpawner that starts JupyterLab notebooks under local Linux user accounts.

In any case your users need to stop the servers from JupyterHub interface when they are done with their work. If not you will have to integrate JupyterHub idle culler service to do that automatically.

Thank you so much @mahendrapaipuri for the explanation…

1 Like