我使用twisted创建了一个类似于here的SSH服务器。我试着给它添加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.')
我尝试在'curl'
之前添加{
尝试使用curl可执行文件的实际路径。很可能它不在}或其他系统定义的位置)。您可以通过在shell中使用
os.getcwd()
中。/usr/bin
更有可能(或者可能是/bin
或{which curl
来找到它。或者,将PATH环境变量添加到
spawnProcess
调用-或者,可能更好的是,添加您的整个环境:
^{pr2}$PATH
控制系统在何处查找相对路径名,如“curl”,当尝试执行它们时。如果未设置,则必须指定绝对路径才能执行任何操作。好吧,所以我需要更具体一点。这是一个工作卷发。我必须在getcwd()后面加一个“\”,在curl后面加一个“.exe”。
相关问题 更多 >
编程相关推荐