startpowinien już być właściwym kierunkiem. Jednak /bprzywiązuje go do tej samej konsoli. Problem polega na tym, że gdy okno konsoli jest zamknięte, wszelkie procesy związane z tą konsolą również zostaną zamknięte.
Możesz albo użyć startbez /b, a wtedy będzie działał w nowej konsoli. Jeśli chcesz uruchomić go w tle bez okna konsoli, musisz użyć VBScript lub narzędzia innej firmy: Uruchom plik wsadowy w całkowicie ukryty sposób
Jednak w takim przypadku nie zobaczysz już wyjścia stdout / stderr. Możesz jednak przekierować go do pliku, zawijając go w cmd /c your_command > stdout.txt 2> stderr.txtwywołaniu i uruchamiając go jedną z wyżej wymienionych metod (VBScript, narzędzie innej firmy, ...).
Alternatywnie możesz także ukryć własne okno konsoli przed wyjściem. Właśnie napisałem mały program jednowierszowy, który robi dokładnie to (kod źródłowy jest w zasadzie ShowWindow(GetConsoleWindow(), SW_HIDE)): http://share.cherrytree.at/showfile-24286/hide_current_console.exe
W ten sposób możesz użyć start /b, a kiedy chcesz „zamknąć” konsolę (technicznie to ukryć), uruchomisz, hide_current_console & exitco ukryje konsolę, a następnie zamkniesz proces cmd.exe (nie proces python) - w jednym wierszu, ponieważ nie można pisać exitpo tym, jak konsola była już ukryta.
Skąd hide_current_consolepochodzi? Nie działa na komputerze W10.
Btc Sources,
1
Testowałem to jeszcze raz, nadal działa. Skąd pochodzi: Proszę przeczytać ponownie post, pokazałem jeden wiersz kodu źródłowego tego pliku i podłączyłem skompilowany plik hide_current_console.exe do pobrania ...
CherryDT
-2
Stwierdziłem, że następujące działania były dla mnie dobre:
Aha, i na Linuksie zamiast w tle ( &) i disownsugerowałbym użycie nohup.
nikc,
5
Że komenda weszła w systemie Windows cmd powłoka daje następujący błąd: 'run' is not recognized as an internal or external command, operable path or batch file..
hide_current_console
pochodzi? Nie działa na komputerze W10.Stwierdziłem, że następujące działania były dla mnie dobre:
źródło
&
) idisown
sugerowałbym użycienohup
.'run' is not recognized as an internal or external command, operable path or batch file.
.