DSomesh Ответов: 1

В C# как запустить новый процесс, не будучи потомком процесса нереста?


How to start a Start new process, without being a child of the spawning process 4 answers
I am using Process.start(). But in that case it is getting created as a child of the calling process.


Что я уже пробовал:

Я звоню как процесс.Начало(fullPathtoexe)

Richard Deeming

Уже есть ответ где? Вы не предоставили ссылку.

И если у него уже есть ответ, то что плохого в этом ответе?

DSomesh

Я погуглил и обнаружил, что cmd можно использовать для запуска процесса и завершения его как промежуточного процесса.
строка x = "/c " + fullPath+". exe";
Процесс.Start (new ProcessStartInfo { Arguments = x, FileName = "cmd", WindowStyle = ProcessWindowStyle.Скрытый });
Но это не сработало.

1 Ответов

Рейтинг:
0

OriginalGriff

Когда вы начинаете процесс, вы являетесь родителем. Если вы хотите удалить эту ссылку, вам нужно создать промежуточный процесс, который породит ваш целевой процесс, а затем завершится. Поскольку промежуточный процесс является родителем целевого процесса, при его закрытии дочерняя связь разрывается.

Это нетрудно сделать: просто напишите быстрое приложение без окон, которое принимает параметры, которые являются процессом запуска и его параметрами. Он использует процесс.Начинается, а затем завершается.

Но я не понимаю, почему ты хочешь это сделать...


DSomesh

Я погуглил и обнаружил, что cmd можно использовать для запуска процесса и завершения его как промежуточного процесса.
строка x = "/c " + fullPath+". exe";
Процесс.Start (new ProcessStartInfo { Arguments = x, FileName = "cmd", WindowStyle = ProcessWindowStyle.Скрытый });
Но это не сработало.

OriginalGriff

"это не сработало" - один из самых бесполезных отчетов об ошибках, которые вы можете дать, - он ничего нам не говорит. Мы можем догадаться, что это не работает, потому что иначе вы бы не спрашивали об этом, но мы понятия не имеем, каким образом это "не сработало".
Помните, что мы не можем видеть ваш экран, получить доступ к вашему жесткому диску или прочитать ваши мысли - мы получаем только то, что вы печатаете для работы.
Поэтому, возможно, вы хотите объяснить, что произошло, чего вы не ожидали, или не произошло, что вы сделали...