2017-10-18 57 views
0

運行一個後臺作業我已經設置開始和PHP服務器的WebPack一個bash文件在本地這樣的:如何殺死被Bash文件

#!/bin/bash 
cd my-php-serivce/ 
php -S localhost:8000 -t public & 
cd ../my-react-app 
npm start & 

我跑由./start.sh bash的文件,我關閉了終端之後,

我該如何找到並殺死進程?我試過jobs,ps,fg但是找不到這個過程。謝謝。

+1

嘗試'pgrep php' – balki

+0

如果您沒有使用'nohup'機會,當您關閉終端時,腳本將被終止。 – mathB

+0

謝謝@balki這個命令很好,但它會顯示我沒有名字運行的所有php服務 –

回答

2

您應該將您的PID存儲到文件中以備後用。如下圖所示:

#!/bin/bash 
cd my-php-serivce/ 
php -S localhost:8000 -t public & echo $! > my_php_pid 
cd ../my-react-app 
npm start & 

當你想殺死它,只是:

kill -9 $(cat my-php-serivce/my_php_pid) 

但最好的辦法是,你必須使用守護進程來決定如何管理你的流程。 REF