nohup uruchamia proces w tle. Czy jest jakiś odpowiednik dla systemu Windows?
windows
background-process
nohup
Jader Dias
źródło
źródło
START
polecenie nie wykonuje odłączenia, tzn. Nadal jest potomkiem procesu, który go utworzył. W twoim przykładzie będzie to oznaczać, że „polecenie3” umrze, gdy proces macierzysty zakończy działanie. Uniks ten obchodzi to, co nazywane jest „rozwidleniem dwa razy”, ale nie znam odpowiednika w systemie Windows.exec(<some windows executable>)
. W Eksploratorze procesów wyraźnie widzę relacje rodzic-dziecko i wszystko, co zacznę od wewnątrzexec()
, nie przetrwa. Prawidłowe, że wydaje się działać, jeśli uruchomięcmd.exe
z menu Start, w którym rozpoczęty proces wydaje się osierocony „poprawnie” pocmd.exe
wyjściu. Oczywiście muszę to lepiej zrozumieć. :-(Możesz spojrzeć na usługi systemu Windows. Istnieje kilka narzędzi, które można pobrać w celu obsługi dowolnego procesu jako usługi Windows. Powoduje to, że proces ładuje się w tle podczas uruchamiania systemu Windows, więc pod warunkiem, że nie wymaga interakcji użytkownika, powinieneś być w stanie obsługiwać go w ten sposób.
Zestaw Windows Server 2003 Resource Kit
Narzędzie, którego szukasz, nazywa się srvany.exe.
źródło
Jedynym sposobem w systemie Windows, w którym użytkownik może uruchomić proces po zakończeniu wylogowania (tzn. Co robi „nohup”), jest uruchomienie go poprzez „zaplanowane zadanie” lub jako usługę Windows. Gdy użytkownik wyloguje się, wszystkie procesy w sesji logowania zostaną zabite.
Jeśli chcesz wypróbować metodę „Zaplanowane zadania”, powinieneś wiedzieć, jak je programować. Win32_ScheduledJob klasy WMI może to zrobić. Szczegółowa dokumentacja znajduje się tutaj: http://www.microsoft.com/technet/scriptcenter/guide/sas_man_rsxs.mspx?mfr=true Zasadniczo chcesz to zrobić (bezwstydnie skradzione Microsoftowi):
Aby przyznać „użytkownikowi Joe” możliwość tworzenia zaplanowanych zadań, musisz zmodyfikować uprawnienia do folderu% SystemRoot% \ Tasks. Zobacz tutaj informacje o tym froncie: http://technet.microsoft.com/en-us/library/cc785125(WS.10).aspx
źródło
Wszystko zależy od tego, jaki jest twój ostateczny cel. Można uruchomić zaplanowane zadanie z opcją uruchomienia tylko wtedy, gdy użytkownik jest zalogowany i ustawiony na WYŁĄCZONY. Możesz użyć psexec ze zdalnego komputera. Jeszcze lepiej może być uruchomienie procesu jako usługi. Sprawdź tę wyszukiwarkę Google , tę inną wyszukiwarkę Google , ten wątek i ten inny wątek, aby poznać potencjalne potencjalne szanse na znalezienie rozwiązania. Ostatecznie wydaje się, że nie ma dokładnego odpowiednika nohup na komputerze z systemem Windows.
źródło