我有一個start.bat類似于以下內容:
start npx tailwindcss -i ./www/src/styles/main.css -o ./www/dist/styles/main.css --watch
start caddy run
它啟動 2 個新的 cmd 提示并在其中啟動行程(它們都無限期地運行)。有沒有辦法讓這個 bat 檔案向它產生的 cmds 發送 kill 命令?理想情況下,我有一個命令來殺死所有創建的“子”行程。
uj5u.com熱心網友回復:
PowerShell 解決方案- 既可以通過這個問題的標記暗示,也可以通過 icanfathom(OP)在評論中明確說明(“不,PS 會很好”) - 使用Start-Process和Stop-Processcmdlet:
$processes = & {
Start-Process -PassThru npx 'tailwindcss -i ./www/src/styles/main.css -o ./www/dist/styles/main.css --watch'
Start-Process -PassThru caddy run
}
# ...
# Stop (kill) all launched processes.
$processes | Stop-Process
uj5u.com熱心網友回復:
set "wintitle=my process %time%"
start "%wintitle%" npx tailwindcss -i ./www/src/styles/main.css -o ./www/dist/styles/main.css --watch
start "%wintitle%" caddy run
....
taskkill /FI "WINDOWTITLE eq %wintitle%"
[未經測驗] - 理論上應該可以作業......
始終最好start使用帶引號的標題作為命令看到的第一個帶引號的字串,start否則可能會被吃掉并用作標題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/451393.html
上一篇:將檔案復制到特定的子檔案夾
下一篇:使用動態名稱呼叫多行宏?
