如何在linux中执行远程命令时处理错误

时间:2016-04-29 09:19:26

标签: python ssh paramiko

我目前正在创建一个使用ssh(paramiko)在linux机器上远程执行命令的类。以下是我正在使用的代码

case class Data(open: String)
val df = sqlContext.createDataFrame(Seq(Data("acb"), Data("abc"), Data("bcv"), Data("abc")))
df.where($"open" !== "abc").show()
+----+
|open|
+----+
| acb|
| bcv|
+----+

我的问题是,如果命令遇到错误,例如我使用' mkdir a':"文件存在错误"遇到了,我该怎么处理它。我尝试使用channel.recv(buff_size),但问题是我无法区分错误和正常消息。

提前致谢

1 个答案:

答案 0 :(得分:1)

channel.recv_exit_status()可用于获取执行命令的返回码。您可以参考this paramiko文档。