gpt4 book ai didi

python - 扭曲的 SSH curl "' CreateProcess', 'The system cannot find the file specified."

转载 作者:行者123 更新时间:2023-12-01 05:42:44 24 4
gpt4 key购买 nike

我使用twisted制作了一个类似于所示的SSH服务器here 。我尝试向它添加curl功能,如下所示:

class CurlProcessProtocol(protocol.ProcessProtocol):
def connectionMade(self):
self.transport.closeStdin()

def do_curl(self, *args):
"Sets up a download"
curlProcess = CurlProcessProtocol()
args = tuple(['curl'])+args
reactor.spawnProcess(curlProcess, 'curl', args)

我有curl 在与我的程序相同的目录中运行所需的文件。当我连接到 SSH 服务器并尝试执行curl 命令时,出现以下错误:Error: (2, 'CreateProcess', 'The system cannot find the file specified.')我尝试附加 os.getcwd()+之前'curl'没有效果。

最佳答案

尝试使用curl可执行文件的实际路径。它很可能不在 os.getcwd() 中。 /usr/bin 更有可能(或者可能是 /bin/usr/local/bin 或其他一些系统定义的位置)。您可能可以通过在 shell 中使用 which curl 找到它。

或者,将 PATH 环境变量添加到您的 spawnProcess 调用中 -

reactor.spawnProcess(
curlProcess, 'curl', args, env={b"PATH": os.environ[b"PATH"]})

或者,添加您的整个环境可能会更好:

reactor.spawnProcess(
curlProcess, 'curl', args, env=os.environ)

PATH 控制系统在尝试执行相对路径名(例如“curl”)时在何处查找它们。如果未设置,则必须指定绝对路径才能执行任何操作。

关于python - 扭曲的 SSH curl "' CreateProcess', 'The system cannot find the file specified.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17100309/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com