У меня есть простое приложение 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
Приложение запускается корректно без каких-либо исключений и работает как положено.
Любая подсказка, что я облажался?