私は `twisted.internet.reactor.spawnProcess'を介してPythonスクリプトを実行してみてください。twisted.internet.reactor.spawnProcessはOSErrorの提起(13、 'アクセス許可が拒否されました')
from twisted.internet import protocol, reactor
class ProcessProtocol(protocol.ProcessProtocol):
def connectionMade(self):
self.transport.closeStdin()
def childDataReceived(self, childFD, data):
print data
def main():
proto = ProcessProtocol()
cmd = ['/var/projects/python/worker.py']
reactor.spawnProcess(proto, cmd[0], cmd)
if __name__ == "__main__":
exit(main())
私は次のエラーを取得します:
Upon execvpe /var/projects/python/worker.py ['/var/projects/python/worker.py', '5'] in environment id 29011152
:Traceback (most recent call last):
File "/usr/local/lib/python2.6/dist-packages/Twisted-11.0.0-py2.6-linux-x86_64.egg/twisted/internet/process.py", line 414, in _fork
executable, args, environment)
File "/usr/local/lib/python2.6/dist-packages/Twisted-11.0.0-py2.6-linux-x86_64.egg/twisted/internet/process.py", line 460, in _execChild
os.execvpe(executable, args, environment)
File "/usr/lib/python2.6/os.py", line 353, in execvpe
_execvpe(file, args, env)
File "/usr/lib/python2.6/os.py", line 368, in _execvpe
func(file, *argrest)
OSError: [Errno 13] Permission denied
''/ var/projects/python/worker.py''を実行する権限がありますか? – Santa
スクリプトをrootで実行していますか?そうでない場合、 '/ var/projects/python/worker.py'ファイルは、スクリプトの実行に使用されたユーザが読むための適切な権限を持っていますか? – MatToufoutu