在 C# 中使用腻子关闭 linux
Using putty to shutdown linux in c#
我在用 c# 从 windows 向 shutdown/restart linux 编写应用程序时遇到了一些问题。
我正在尝试使用 putty 来完成这项任务,但出了点问题。
Process p = new Process();
ProcessStartInfo info = new ProcessStartInfo();
info.FileName = "putty.exe";
info.RedirectStandardInput = true;
info.UseShellExecute = false;
info.Arguments = @"root@192.168.0.25 -pw 1234qwer ";
p.StartInfo = info;
p.Start();
p.StandardInput.WriteLine("shutdown -h ");
p.StandardInput.WriteLine("exit");
string output = p.StandardOutput.ReadToEnd();
p.WaitForExit();
Console.WriteLine(output);
上面我粘贴了我用来实现这个目标的代码。
一切都很好,直到我不得不在 putty 命令行中编写更多内容,在这种情况下,StandardInput 不是执行此操作的好方法,而且我没有找到其他方法来执行此操作。
我也尝试以同样的方式使用 PLINK.exe,但它也没有解决我的问题 - 事实上 PLINK 甚至没有出现。
任何解决此问题的想法或技巧都很好。
尝试SSH.NET
using (var client = new SshClient("hostnameOrIp", "username", "password"))
{
client.Connect();
client.RunCommand("shutdown -h now;systemctl poweroff");
client.Disconnect();
}
我在用 c# 从 windows 向 shutdown/restart linux 编写应用程序时遇到了一些问题。
我正在尝试使用 putty 来完成这项任务,但出了点问题。
Process p = new Process();
ProcessStartInfo info = new ProcessStartInfo();
info.FileName = "putty.exe";
info.RedirectStandardInput = true;
info.UseShellExecute = false;
info.Arguments = @"root@192.168.0.25 -pw 1234qwer ";
p.StartInfo = info;
p.Start();
p.StandardInput.WriteLine("shutdown -h ");
p.StandardInput.WriteLine("exit");
string output = p.StandardOutput.ReadToEnd();
p.WaitForExit();
Console.WriteLine(output);
上面我粘贴了我用来实现这个目标的代码。 一切都很好,直到我不得不在 putty 命令行中编写更多内容,在这种情况下,StandardInput 不是执行此操作的好方法,而且我没有找到其他方法来执行此操作。
我也尝试以同样的方式使用 PLINK.exe,但它也没有解决我的问题 - 事实上 PLINK 甚至没有出现。
任何解决此问题的想法或技巧都很好。
尝试SSH.NET
using (var client = new SshClient("hostnameOrIp", "username", "password"))
{
client.Connect();
client.RunCommand("shutdown -h now;systemctl poweroff");
client.Disconnect();
}