我有一个简单的C# Mono 2.10应用程序在CentOS 5.5上运行,调用
Process.Start("/path/to/myapp/myapp.exe","-someArgs");
我可以获取进程ID并运行。
mono --trace=N:System.Diagnostics
显示了一个堆栈,似乎表明Process.Start返回了true:
LEAVE: System.Diagnostics.Process:Start_noshell (System.Diagnostics.ProcessStartInfo,System.Diagnostics.Process)TRUE:1
LEAVE: System.Diagnostics.Process:Start_common (System.Diagnostics.ProcessStartInfo,System.Diagnostics.Process)TRUE:1
LEAVE: System.Diagnostics.Process:Start ()TRUE:1
LEAVE: (wrapper remoting-invoke-with-check) System.Diagnostics.Process:Start ()TRUE:1
我猜这意味着该进程在未发生异常(例如FileNotFound等)的情况下被生成。
然而,进程似乎立即退出,并且我得到的退出代码是255。我认为这是一个带有一些明显含义的Linux退出代码,但我在网络上找不到任何有用的信息。
当直接启动完全相同的应用程序时,...
mono /path/to/myapp/myapp.exe -someArgs
应用程序没有任何异常地启动,并按预期工作。
有什么线索是我搞砸了什么吗?