Add a permissions-check hint when spawn fails with PermissionError

This commit is contained in:
Min RK
2016-07-01 14:36:34 +02:00
parent 96861dc2b0
commit 3f9205d405

View File

@@ -7,6 +7,7 @@ import errno
import os import os
import pipes import pipes
import pwd import pwd
import shutil
import signal import signal
import sys import sys
import grp import grp
@@ -465,10 +466,19 @@ class LocalProcessSpawner(Spawner):
cmd.extend(self.get_args()) cmd.extend(self.get_args())
self.log.info("Spawning %s", ' '.join(pipes.quote(s) for s in cmd)) self.log.info("Spawning %s", ' '.join(pipes.quote(s) for s in cmd))
self.proc = Popen(cmd, env=env, try:
preexec_fn=self.make_preexec_fn(self.user.name), self.proc = Popen(cmd, env=env,
start_new_session=True, # don't forward signals preexec_fn=self.make_preexec_fn(self.user.name),
) start_new_session=True, # don't forward signals
)
except PermissionError:
# use which to get abspath
script = shutil.which(cmd[0]) or cmd[0]
self.log.error("Permission denied trying to run %r. Does %s have access to this file?",
script, self.user.name,
)
raise
self.pid = self.proc.pid self.pid = self.proc.pid
@gen.coroutine @gen.coroutine