nohup запускает процесс в фоновом режиме. Есть какой-нибудь эквивалент для Windows?
windows
background-process
nohup
Джадер Диас
источник
источник
START
команда не отсоединяется, то есть она все еще является потомком процесса, который ее создал. В вашем примере это будет означать, что 'command3' умрет всякий раз, когда выходит из материнского процесса. Unix обходит это, делая это известно как «двойная вилка», но я не знаю аналога в Windows.exec(<some windows executable>)
. Я ясно вижу в Process Explorer отношения между родителями и детьми, и все, что я начинаю изнутриexec()
, не сохраняется. Исправьте, что это работает, если я запускаюcmd.exe
из меню «Пуск», когда запущенный процесс кажется «осиротевшим» правильно послеcmd.exe
выхода Очевидно, мне нужно лучше понять это. :-(Возможно, вы захотите взглянуть на службы Windows. Есть несколько инструментов, которые вы можете скачать, чтобы разместить любой процесс в качестве службы Windows. Это приводит к загрузке процесса в фоновом режиме при запуске Windows, поэтому при условии, что он не требует взаимодействия с пользователем, вы сможете разместить его таким образом.
Windows Server 2003 Resource Kit
Инструмент, который вам нужен, называется srvany.exe.
источник
Единственный способ в Windows, чтобы процесс, запущенный пользователем, продолжал выполняться после выхода из системы (то есть, что делает nohup), - это запустить его с помощью «запланированной задачи» или в качестве службы Windows. Когда пользователь выходит из системы, все процессы в сеансе входа в систему будут уничтожены.
Если вы играете, чтобы попробовать метод «Запланированные задачи», вы хотите знать, как создавать их программно. Класс Win32_ScheduledJob WMI может это сделать. Подробная документация приведена здесь: http://www.microsoft.com/technet/scriptcenter/guide/sas_man_rsxs.mspx?mfr=true. По сути, вы ищете, что делать (бессовестно украдено у Microsoft):
Чтобы предоставить пользователю «joe» возможность создавать запланированные задачи, вам нужно изменить разрешение в папке% SystemRoot% \ Tasks. Смотрите здесь для получения дополнительной информации по этому вопросу: http://technet.microsoft.com/en-us/library/cc785125(WS.10).aspx
источник
Все зависит от вашей конечной цели. Вы можете запустить запланированное задание с возможностью запуска только в том случае, если пользователь вошел в режим ОТКЛЮЧЕНО. Вы могли бы использовать psexec с удаленной машины. Еще лучше, возможно, запустить процесс как службу. Посмотрите этот поиск Google , этот другой поиск Google , эту ветку и эту другую ветку для поиска возможных потенциальных клиентов в поиске решения. В конечном счете, похоже, что на машине с Windows нет точного эквивалента nohup.
источник