Как сохранить cmd.exe начинается с псевдоконсоль, даже после выходов родителей?C#

Место общения программистов C#
Ответить
Anonymous
 Как сохранить cmd.exe начинается с псевдоконсоль, даже после выходов родителей?

Сообщение Anonymous »

Итак, у меня есть Server.cs , который порождает Child Daemon.exe следующим образом:
bool success = CreateProcess(
null,
"daemon.exe",
IntPtr.Zero,
IntPtr.Zero,
false,
DETACHED_PROCESS,
IntPtr.Zero,
null,
ref si,
out pi
);
< /code>
Внутри демона я порождает cmd.exe следующим образом: < /p>
string app = @"C:\Windows\System32\cmd.exe";
bool success = CreateProcess(
null,
app,
IntPtr.Zero,
IntPtr.Zero,
false,
EXTENDED_STARTUPINFO_PRESENT,
IntPtr.Zero,
null,
ref si,
out pi
);
< /code>
Когда я убиваю Server.exe, cmd.exe также убит, что я хочу сохранить на неопределенный срок. Если я сломаю daemon.exe, используя что -то вроде console.readline (), он выживает на выходе на сервер, как предназначен для Depached_process, однако по какой -то причине Cmd.exe умирает, несмотря на то, что демон породил. Я предполагаю, что это потому, что cmd.exe все еще прикрепляется к консоли сервера, но я не знаю точно и не понимаю, почему < /p>
работает, если я поролк. Потерять функциональность псевдоконсола Alltogether, когда вывод попадает в новую консоль.

Подробнее здесь: https://stackoverflow.com/questions/794 ... rent-exits
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»