public SendResult Post(AirConStatus value) { Console.WriteLine(string.Format("{0} Post AirConStatus", DateTime.Now)); SendResult r1 = SendResult.CheckStatus(value); if (r1.Code != 0) { return(r1); } acStatus = value; string exec_arg = string.Format("{0} {1} {2} {3} {4}", acStatus.Power, acStatus.Temperature, acStatus.Mode, acStatus.Swing, acStatus.WindSpeed); string stdOutput = ""; try { Process proc = new Process(); proc.StartInfo.FileName = "./irz"; proc.StartInfo.Arguments = exec_arg; proc.StartInfo.UseShellExecute = false; proc.StartInfo.RedirectStandardOutput = true; proc.StartInfo.RedirectStandardError = true; proc.StartInfo.CreateNoWindow = true; proc.Start(); proc.WaitForExit(); stdOutput = proc.StandardOutput.ReadToEnd(); string errOutput = proc.StandardError.ReadToEnd(); proc.Close(); if (stdOutput.Contains("Runtime Error") || stdOutput.Contains("failed") || errOutput.Contains("Error") || errOutput.Contains("Wrong")) { return(new SendResult(1, errOutput)); } //Console.WriteLine(stdOutput); //Console.WriteLine("cerr: " + errOutput); } catch (Exception ex) { return(new SendResult(1, ex.Message)); } return(new SendResult(0, stdOutput)); }