Process-Management

可以配置為執行兩個命令並在一個完成時殺死兩個命令的實用程序

  • February 8, 2018

是否有一個通用實用程序(Ubuntu,也許是 OSX)可以執行伺服器serve ./public,然後執行一些測試./run-chrome-tests.sh,一旦測試完成,就會殺死serve ./public.

這可以在 bash 中完成,但如果可行,我寧願創建配置,也不願編寫程式碼。

據我所知,沒有這樣的實用程序,但它很容易在 shell 腳本中實現。

一個簡短的 shell 腳本,實現了您所描述的內容:

#!/bin/sh

serve ./public & serve_pid=$!
./run-chrome-tests.sh

kill "$serve_pid"

您可能希望在後台sleep 3啟動後插入一個呼叫(或類似呼叫)serve,以使其在執行測試腳本之前正確初始化。

$!將是最近啟動的後台作業(serve程序)的 PI​​D。當run-chrome-tests.sh腳本完成時,上面的腳本將serve通過使用kill.

引用自:https://unix.stackexchange.com/questions/422763