受欢迎的博客标签

.Net 8 调用debian控制台命令并获取结果

Published

C# 调用 Linux 系统命令

 

public static string Exceute(string command,string arg)
		{
			// 创建ProcessStartInfo对象,设置命令行参数和执行路径  
			ProcessStartInfo startInfo = new ProcessStartInfo
			{
				FileName = command, // 指定要执行的Shell解释器  
				Arguments = arg, // 传递命令作为参数  
				UseShellExecute = false, // 不使用Shell执行  
				RedirectStandardOutput = true, // 将标准输出重定向到Process.StandardOutput属性  
				RedirectStandardInput = true, // 将标准输入重定向到Process.StandardInput属性  
				RedirectStandardError = true, // 将标准错误重定向到Process.StandardError属性  
				CreateNoWindow = true // 不创建新的窗口  
			};

			// 创建Process对象,并启动进程  
			using (Process process = new Process { StartInfo = startInfo })
			{
				Console.WriteLine("执行命令:" + command +" 参数:" + arg);
				process.Start();

				// 读取标准输出和标准错误输出  
				string output = process.StandardOutput.ReadToEnd();
				string error = process.StandardError.ReadToEnd();

				// 等待进程执行完成  
				process.WaitForExit();

				// 输出结果  
				Console.WriteLine("Output:");
				Console.WriteLine(output);

				if (string.IsNullOrEmpty(error))
				{
					Console.WriteLine("Error:");
					Console.WriteLine(error);
				}

				return output + error;
			}
		}

 

string chmodCmdStr = "chmod +x ./AEConsole_GatewayService";
Process process = new Process();
process.StartInfo.UseShellExecute = false;
process.StartInfo.FileName = "/bin/bash";
process.StartInfo.Arguments = "-c \"" + chmodCmdStr + " \"";
process.StartInfo.CreateNoWindow = true;
process.StartInfo.WorkingDirectory = deCompressDir;
process.Start();

process.WaitForExit();

 

https://www.cnblogs.com/stulzq/p/9074965.html

https://blog.csdn.net/Smooth_Sailing_/article/details/133900812

https://developers.redhat.com/blog/2019/10/29/the-net-process-class-on-linux#not_supported_on_linux