为了账号安全,请及时绑定邮箱和手机立即绑定

子进程未在 python cgi 脚本中运行

子进程未在 python cgi 脚本中运行

交互式爱情 2023-07-18 16:39:30
我在 Python CGI 脚本中运行子进程时遇到问题。我将在 python CGI 脚本中将 python 文件作为子进程运行。script.py#!enable debuggingimport cgitbcgitb.enable()print("Content-Type: text/html;charset=utf-8")print()import subprocessp = subprocess.Popen(["sudo", "/usr/bin/python3", "test.py"], stdout=subprocess.PIPE)test.pyf.open("test.txt", "a")f.write("This is test")f.close()如果我script.py在控制台中运行,它会test.txt成功创建文件。但是如果我在带有 Python CGI 的浏览器上运行它,它无法创建test.txt.我想,这可能是权限造成的,所以我尝试直接创建test.txt,script.py而不是在'test.py'上,它创建成功了。所以,主要问题是Python CGI脚本无法运行子进程。在浏览器上作为 Python CGI 脚本运行时,我无法收到任何错误。我该如何解决这个问题?
查看完整描述

1 回答

?
aluckdog

TA贡献1847条经验 获得超7个赞

如果 sudo 不起作用,请查看系统日志。可能会有一些消息可以帮助您进行调试。文件已存在/var/log,如果您按时间列出,ls -t您将看到哪些文件刚刚发生了更改。

首先尝试不使用 sudo。将您的文件放在不需要 sudo 权限的地方,例如/tmp/test.txt. 然后你就知道问题是出在 sudo 还是其他什么地方了。


查看完整回答
反对 回复 2023-07-18
  • 1 回答
  • 0 关注
  • 51 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信