【发布时间】:2011-04-06 17:55:56
【问题描述】:
我有一个在 CentOS 5.5 上运行的简单 C# Mono 2.10 应用程序,它调用
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
应用程序正常启动,没有任何异常,并按预期工作。
知道我在搞砸什么吗?
【问题讨论】: