начать без наследования родительских файловых дескрипторов - PullRequest
2 голосов
/ 05 февраля 2010

Мне нужно запустить какой-нибудь процесс на winXP командой «start». Звучит просто.

Но есть ли способ, чтобы запущенный процесс не наследовал порты от родителя?

Я запускаю детей в своей программе, используя:

system "start x -params"

Теперь, когда родитель убит, я не могу запустить его снова, потому что я узнал по ошибкам, что какой-то процесс уже занимает порт (который использовал уничтоженный родитель).

Я не хочу использовать:

  • createProcess (из winAPI, где это можно настроить, чтобы не наследовать fds)
  • использовать python в моей стартовой строке (или любых подобных интерпретаторах)

Есть ли способ запустить мой дочерний процесс так, как я хочу, чтобы он запускался?

Есть ли альтернатива "старт"?

Ответы [ 2 ]

1 голос
/ 05 февраля 2010

Итак, через некоторое время я обнаружил:

psexec

с командной строкой вроде:

psexec -d -s myprogram> logfile.log 2> & 1

все решено.

0 голосов
/ 14 августа 2014
powershell -command "Start-Process myprogram.exe"
...