Skip to content

Commit 43611a8

Browse files
committed
Polish.
1 parent a747850 commit 43611a8

File tree

1 file changed

+12
-5
lines changed

1 file changed

+12
-5
lines changed

notebook/notebookapp.py

+12-5
Original file line numberDiff line numberDiff line change
@@ -413,6 +413,7 @@ def shutdown_server(server_info, timeout=5, log=None):
413413
Returns True if the server was stopped by any means, False if stopping it
414414
failed (on Windows).
415415
"""
416+
# TODO: this needs to handle socket connections
416417
from tornado.httpclient import HTTPClient, HTTPRequest
417418
url = server_info['url']
418419
pid = server_info['pid']
@@ -454,6 +455,9 @@ class NbserverStopApp(JupyterApp):
454455
port = Integer(DEFAULT_NOTEBOOK_PORT, config=True,
455456
help="Port of the server to be killed. Default %s" % DEFAULT_NOTEBOOK_PORT)
456457

458+
sock = Unicode(u'', config=True,
459+
help="UNIX socket of the server to be killed.")
460+
457461
def parse_command_line(self, argv=None):
458462
super(NbserverStopApp, self).parse_command_line(argv)
459463
if self.extra_args:
@@ -467,16 +471,16 @@ def start(self):
467471
if not servers:
468472
self.exit("There are no running servers")
469473
for server in servers:
470-
if server['port'] == self.port:
474+
if server.get('sock') == self.sock or server['port'] == self.port:
471475
print("Shutting down server on port", self.port, "...")
472476
if not self.shutdown_server(server):
473477
sys.exit("Could not stop server")
474478
return
475479
else:
476480
print("There is currently no server running on port {}".format(self.port), file=sys.stderr)
477-
print("Ports currently in use:", file=sys.stderr)
481+
print("Ports/sockets currently in use:", file=sys.stderr)
478482
for server in servers:
479-
print(" - {}".format(server['port']), file=sys.stderr)
483+
print(" - {}".format(server.get('sock', server['port'])), file=sys.stderr)
480484
self.exit(1)
481485

482486

@@ -556,6 +560,8 @@ def start(self):
556560
'ip': 'NotebookApp.ip',
557561
'port': 'NotebookApp.port',
558562
'port-retries': 'NotebookApp.port_retries',
563+
'sock': 'NotebookApp.sock',
564+
'sock-umask': 'NotebookApp.sock_umask',
559565
'transport': 'KernelManager.transport',
560566
'keyfile': 'NotebookApp.keyfile',
561567
'certfile': 'NotebookApp.certfile',
@@ -703,7 +709,7 @@ def _valdate_ip(self, proposal):
703709
help=_("The UNIX socket the notebook server will listen on.")
704710
)
705711

706-
sock_umask = Unicode(u'', config=True,
712+
sock_umask = Unicode(u'0600', config=True,
707713
help=_("The UNIX socket umask to set on creation (default: 0600).")
708714
)
709715

@@ -1472,7 +1478,7 @@ def _bind_http_server(self):
14721478

14731479
def _bind_http_server_unix(self):
14741480
try:
1475-
sock = bind_unix_socket(self.sock, mode=int(self.sock_umask, 8))
1481+
sock = bind_unix_socket(self.sock, mode=int(self.sock_umask.encode(), 8))
14761482
self.http_server.add_socket(sock)
14771483
except socket.error as e:
14781484
if e.errno == errno.EADDRINUSE:
@@ -1772,6 +1778,7 @@ def server_info(self):
17721778
return {'url': self.connection_url,
17731779
'hostname': self.ip if self.ip else 'localhost',
17741780
'port': self.port,
1781+
'sock': self.sock,
17751782
'secure': bool(self.certfile),
17761783
'base_url': self.base_url,
17771784
'token': self.token,

0 commit comments

Comments
 (0)