我希望我的 C# 应用程序(我在树莓派上执行)在启动时运行 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();
但是它说 stop 是一个意想不到的参数,有什么想法吗?
最佳答案
我从未在 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
上的可执行位没有问题吗?
关于C#在linux中执行终端命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23679283/