あなたが私を助けてくれることを願っています。私はMonoDevelopでRaspberry Piをコーディングしています。開始直後にプロセスが終了する
私はPythonスクリプトをC#で実行し、そこから読み込みたいと思っています。
class Program
{
public static void Main(string[] args)
{
Process p = new Process();
p.OutputDataReceived += new DataReceivedEventHandler(OutputHandler);
p.StartInfo.FileName = "sudo";
p.StartInfo.Arguments = "python gpio.py";
p.StartInfo.UseShellExecute = false;
p.StartInfo.CreateNoWindow = true;
p.StartInfo.RedirectStandardOutput = true;
p.Start();
p.BeginOutputReadLine();
p.WaitForExit();
}
private static void OutputHandler(Object sender, DataReceivedEventArgs args)
{
Console.WriteLine(args.Data);
}
}
は、デバッグの間、私は、プロセスは、プロセスがまだ実行されていることを、
Click for image
しかし、私が見ることができるタスクマネージャで から出たことがわかります。 また、スクリプトはgpioピンを制御します。また、「プロセスが終了した」場合でも、スクリプトはピン(Led on/off)を制御します。しかし、私はredirectOutputから何も得られません。
なぜプロセスは起動後すぐに終了するのですか(スクリプトには本当のことがありますが、停止してはいけません)?これはスクリプトを実行する正しい方法ですか?
端末からPythonスクリプトを実行すると、正常に動作します。スクリプトのエラーであってはなりません。 処理を開始すると、 FileName "libreoffice"、それも動作します。
スクリプトはプロジェクトフォルダの "/ bin/Debug /"(フォルダ)にあります 実行権限は誰にでも設定されています。 @Gusmanが言ったように
おかげで、
挨拶
私はこの問題がsudoだと思うのですが、すでにsudo'edされているC#プログラムを実行して、ファイル名としてpythonを使用し、パラメータとしてgpio.pyを使用してください。しかし最終的には、gpioの使用を直接C#で制御するためにPythonを使用する代わりに、これを見てください:https://github.com/gusmanb/BCM2835Managed – Gusman