无法停止 Jupyter Notebook

Fra*_*ggi 3 python jupyter-notebook

我在有密码保护帐户的远程机器上运行 Jupyter Notebook。如果我运行:

jupyter-notebook list
Run Code Online (Sandbox Code Playgroud)

有人告诉我 jupyter 笔记本正在 localhost:p 上运行,其中 p 是端口。就我而言,p=8890。这可以。但是,当我运行时:

jupyter-notebook stop 8890
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Shutting down server on port 8890 ...
Traceback (most recent call last):
  File "/usr/local/bin/jupyter-notebook", line 11, in <module>
    sys.exit(main())
  File "/usr/local/lib/python2.7/dist-packages/jupyter_core/application.py", line 266, in launch_instance
    return super(JupyterApp, cls).launch_instance(argv=argv, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/traitlets/config/application.py", line 658, in launch_instance
    app.start()
  File "/usr/local/lib/python2.7/dist-packages/notebook/notebookapp.py", line 1571, in start
    super(NotebookApp, self).start()
  File "/usr/local/lib/python2.7/dist-packages/jupyter_core/application.py", line 255, in start
    self.subapp.start()
  File "/usr/local/lib/python2.7/dist-packages/notebook/notebookapp.py", line 451, in start
    if not self.shutdown_server(server):
  File "/usr/local/lib/python2.7/dist-packages/notebook/notebookapp.py", line 442, in shutdown_server
    return shutdown_server(server, log=self.log)
  File "/usr/local/lib/python2.7/dist-packages/notebook/notebookapp.py", line 402, in shutdown_server
    HTTPClient().fetch(req)
  File "/usr/local/lib/python2.7/dist-packages/tornado/httpclient.py", line 102, in fetch
    self._async_client.fetch, request, **kwargs))
  File "/usr/local/lib/python2.7/dist-packages/tornado/ioloop.py", line 458, in run_sync
    return future_cell[0].result()
  File "/usr/local/lib/python2.7/dist-packages/tornado/concurrent.py", line 238, in result
    raise_exc_info(self._exc_info)
  File "<string>", line 3, in raise_exc_info
tornado.httpclient.HTTPError: HTTP 403: Forbidden
Run Code Online (Sandbox Code Playgroud)

我知道我可以通过使用 kill -9 杀死相应的进程来停止笔记本,但这并不是我正在寻找的真正解决方案。关于可能导致此问题的任何想法?

编辑:根据@Ereli 的要求,我报告了netstat -apn | grep 8890(不幸的是我在机器上没有超级用户权限,所以缺少 sudo 部分)

(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp        0      0 127.0.0.1:8890          0.0.0.0:*               LISTEN      169484/python   
tcp6       0      0 ::1:8890                :::*                    LISTEN      169484/python   
tcp6       0      0 ::1:50356               ::1:8890                ESTABLISHED -               
tcp6       0      0 ::1:50350               ::1:8890                ESTABLISHED -               
tcp6       0      0 ::1:8890                ::1:50356               ESTABLISHED 169484/python   
tcp6       0      0 ::1:8890                ::1:50350               ESTABLISHED 169484/python   
unix  2      [ ACC ]     STREAM     LISTENING     188903661 -                   /tmp/.java_pid153259.tmp
unix  2      [ ACC ]     STREAM     LISTENING     188904811 -                   /tmp/.java_pid153255.tmp
unix  2      [ ACC ]     STREAM     LISTENING     188906806 -                   /tmp/.java_pid153264.tmp
unix  2      [ ACC ]     STREAM     LISTENING     188904830 -                   /tmp/.java_pid153261.tmp
unix  2      [ ]         STREAM     CONNECTED     188902981 -                   
unix  2      [ ]         STREAM     CONNECTED     188906810 -                   
unix  2      [ ]         STREAM     CONNECTED     188904833 -  
Run Code Online (Sandbox Code Playgroud)

Ere*_*eli 7

尝试pkill结合ps aux|grep processNamekill

pkill jupyter
Run Code Online (Sandbox Code Playgroud)

应该做的工作。如果它不起作用,请使用

pkill -9 jupyter
Run Code Online (Sandbox Code Playgroud)

如果您只想限制杀死您拥有的进程,请尝试使用该-u标志。

 pkill -u `id -u` jupyter
Run Code Online (Sandbox Code Playgroud)

如果需要,请杀死,configurable-http-proxy因为这可能是该文件。跑步。

这个问题似乎对 jupyterhub 团队开放,所以我认为它没有被修复。

  • 普通用户不应该杀死其他用户的进程。你可以使用 `pkill -u` 将 `pkill` 限制为你自己的进程 (2认同)