回答:
startすでに正しい方向でなければなりません。ただし、/b同じコンソールに接続します。ここでの問題は、コンソールウィンドウが閉じられると、このコンソールに関連付けられているすべてのプロセスも閉じられることです。
startなし/bで使用しても、新しいコンソールで実行されます。コンソールウィンドウを使わずにバックグラウンドで実行する場合は、VBScriptまたはサードパーティのツールを使用する必要があります。バッチファイルを完全に非表示の方法で実行します。
ただし、その場合、stdout / stderrの出力は表示されなくなります。ただし、cmd /c your_command > stdout.txt 2> stderr.txt呼び出しでラップし、前述のメソッド(VBScript、サードパーティツールなど)のいずれかを使用してこれを開始することにより、ファイルにリダイレクトすることもできます。
または、終了する前に独自のコンソールウィンドウを非表示にすることもできます。私はちょうどそれを行う小さな1行のプログラムを書きました(ソースコードは基本的にですShowWindow(GetConsoleWindow(), SW_HIDE)):http : //share.cherrytree.at/showfile-24286/hide_current_console.exe
このようにして、を使用できstart /bます。コンソールを「閉じる」(技術的には非表示にする)場合はhide_current_console & exit、コンソールを非表示にしてからcmd.exeプロセス(Pythonプロセスではない)を閉じるコマンドを実行します-1行で、exitコンソールがすでに非表示になっていると入力できません。
私は以下がうまくいったことを発見しました:
run python script.py
              &)ではなく、のdisown使用をお勧めしnohupます。
                    'run' is not recognized as an internal or external command, operable path or batch file.。
                    
hide_current_consoleから来たの?W10 PCでは動作しません。