1. 程式人生 > 其它 >如何讓 Windows 命令列程式像 Linux & 命令那樣在後臺執行

如何讓 Windows 命令列程式像 Linux & 命令那樣在後臺執行

技術標籤:devopslinuxwindowsdevops tooling

一般來說如果我們想讓一個 Windows 命令列程式在後臺執行,我們需要把這個程式寫成一個 Windows 服務程式。然後使用 sc 命令或者把它安裝成 Windows 服務,它才能在後臺執行。

Windows 沒有像 Linux 那樣直接在命令最後加一個 & 字元就可以讓命令在後臺運行了。比如下面的命令可以讓打包操作在後臺執行,即使關掉視窗也不會關掉程序。

tar -czf home.tar.gz . &

在 Windows 上要達到類似的效果需要一些技巧。下面的命令可以讓你的 Windows 命令列程式在後臺執行,即使關掉了命令列視窗,你在工作管理員裡還是能看到它。

要注意的是我們必須做一個批處理檔案讓這兩行程式一起執行,一個一個在命令列裡執行這兩個命令是沒有效果的。

@ECHO OFF
%1 start mshta vbscript:createobject("wscript.shell").run("""%~0"" ::",0)(window.close)&&exit
start /b your_command.exe

我們需要做的就是用自己的程式替換掉 your_command.exe 。

要停止已經開始執行的後臺程序可以使用下面的指令碼:

@ECHO OFF

taskkill /im ladderapi.exe /f

ping
-n 2 127.1 >nul