2
Linux 명령을 실행하고 PuTTY와 같은 Windows 응용 프로그램의 텍스트 상자에 결과를 표시하는 방법이 있습니까? SSH.NET에서 장시간 명령을 실행하고 텍스트 상자에 결과를 계속 표시하십시오.
예를 들어 다음 코드private static void WriteStream(string cmd, StreamWriter writer, ShellStream stream)
{
writer.WriteLine(cmd);
while (stream.Length == 0)
Thread.Sleep(500);
}
private static string ReadStream(StreamReader reader)
{
StringBuilder result = new StringBuilder();
string line;
while ((line = reader.ReadLine()) != null)
result.AppendLine(line);
return result.ToString();
}
private static string SendCommand(ShellStream stream, string customCMD)
{
StringBuilder strAnswer = new StringBuilder();
var reader = new StreamReader(stream);
var writer = new StreamWriter(stream);
writer.AutoFlush = true;
WriteStream(customCMD, writer, stream);
strAnswer.AppendLine(ReadStream(reader));
string answer = strAnswer.ToString();
return answer.Trim();
}
이 명령은 시간에 따라 소요
가 실행되는
SshClient sshclient = new SshClient(IPtxtBox.Text, UserNameTxt.Text, PasswordTxt.Text);
sshclient.Connect();
ShellStream stream = sshclient.CreateShellStream("customCommand", 80, 24, 800, 600, 1024);
resultTxt.Text = SSHCommand.SendCommand(stream, "wget http://centos-webpanel.com/cwp-latest && sh cwp-latest");
를 사용하여 다음 명령
wget http://centos-webpanel.com/cwp-latest
sh cwp-latest
을 실행하기 위해 노력하고있어 어떠한 결과가 나타나지 않았다 결과 텍스트 상자에.