В linux вы можете использовать команду & для запуска команды на фоне, то же самое будет продолжаться после отключения оболочки. Мне было интересно, есть ли что-то подобное для окон...
Как запустить команду в фоновом режиме в Windows?
Ответ 1
Я предполагаю, что вы хотите выполнить команду без интерфейса (возможно, автоматически?). В окнах есть несколько вариантов того, что вы ищете:
-
Лучше всего: напишите свою программу как службу Windows. Они начнутся, когда никто не войдет в сервер. Они позволяют вам выбирать учетную запись пользователя (которая может отличаться от вашей), и они перезапускаются, если они не сработают. Они работают все время, поэтому вы можете автоматизировать задачи в определенное время или по регулярному графику изнутри. Для получения дополнительной информации о том, как написать службу Windows, вы можете прочитать онлайн-учебник, например (http://msdn.microsoft.com/en-us/library/zt39148a(v=vs.110).aspx).
-
Лучше: запустите команду и скройте окно. Предполагая, что команда является командой DOS, вы можете использовать для этого VB или С# script. Подробнее см. здесь. Пример:
Set objShell = WScript.CreateObject("WScript.Shell") objShell.Run("C:\yourbatch.bat"), 0, True
Вам все равно придется запустить команду вручную или написать задачу для запуска команды. Это одна из самых больших падений этой стратегии.
- Худший: запустите команду, используя папку автозагрузки. Это выполняется, когда пользователь входит в компьютер
Надеюсь, что это поможет!
Ответ 2
Я считаю, что команда, которую вы ищете, start /b *command*
Для unix nohup
представляет "no hangup", который немного отличается от фонового задания (которое было бы *command* &
. Я считаю, что приведенная выше команда должна быть похожа на фоновое задание для окон.
Ответ 3
Вы также должны взглянуть на команду at
в Windows. Он запустит программу в определенное время в фоновом режиме, которая работает в этом случае.
Другим вариантом является использование программного обеспечения менеджера служб nssm
. Это приведет к завершению любой команды, выполняемой в качестве службы Windows.