C#在linux中执行终端命令

时间:2014-05-15 13:11:38

标签: c# linux bash terminal

我希望我的c#应用程序(我在raspberry pi上执行)在它启动时运行bash脚本。
基本上:脚本位于/etc/init.d,名为mnw。我希望每当我的c#应用程序启动时,它应该执行mnw脚本的一部分 如果它被写入终端,它将如下所示:

cd /etc/init.d
./mnw stop

我希望这一切发生在public static void Main()的开头,我一直在尝试

ProcessStartInfo startInfo = new ProcessStartInfo() { FileName = "/dev/init.d/./mnw", Arguments = "stop", }; 
Process proc = new Process() { StartInfo = startInfo, };
proc.Start();

但它说停止是一个意想不到的争论,任何想法?

1 个答案:

答案 0 :(得分:1)

我从来没有在Mono / Linux上使用过ProcessStartInfo,但你试过通过bash调用吗?

ProcessStartInfo startInfo = new ProcessStartInfo() { FileName = "/bin/bash", Arguments = "/dev/init.d/mnw stop", }; 
Process proc = new Process() { StartInfo = startInfo, };
proc.Start();

此外,mnw上的可执行位没有问题?