ExitCode из -1 возвращается в C # - PullRequest
5 голосов
/ 21 октября 2010

В моем приложении на C # я запускаю программу, используя класс .NET Process. Иногда, после завершения программы, Process.ExitCode равен -1. Это большая программа, и мне не удается отследить, где `exit 'вызывается с -1.

На самом деле, я не понимаю, как можно заставить программу возвращать код завершения -1. Я создал C-программу, которая просто возвращает main'. Whatever value I return from C, in C#, I see that value mod 256. If the C program returns -1, in C#, I see 255. From a Cygwin bash shell, echo $? ' также показывает 255 в этом случае.

Исходная программа - та, которая показывает ExitCode со значением -1 - написана на OCaml. Я не думаю, что это должно иметь значение.

Итак, что может привести к тому, что Process.ExitCode будет отображаться как -1?

1 Ответ

3 голосов
/ 21 октября 2010

Этот код создает код завершения -1:

class Program
{
    static void Main(string[] args)
    {
        Process.GetCurrentProcess().Kill();
    }
}

Другими словами: когда процесс прерывается неожиданно, в качестве результата вы получаете -1.Может быть, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...