У меня есть простое приложение C # Mono 2.10, работающее на CentOS 5.5, которое вызывает
Process.Start("/path/to/myapp/myapp.exe","-someArgs");
Я могу вернуть идентификатор процесса и запустить с
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
Приложение запускается корректно без каких-либо исключений и работает как положено.
Есть какая-нибудь подсказка, что я облажался?