首先我想說,我已經徹底搜查解決我的網頁/計算器問題..背景功能沒有得到殺害
我在下面的shell腳本的場景:
#!/bin/bash
{
while :
do
echo "running"
sleep 2
done
}&
procid=$!
echo $procid
trap "kill -15 $procid" 2 15
即使中斷與Ctrl-C鍵的處理之後,後臺進程仍然打印「跑」中提示。 我必須使用「kill -9 PID」從終端殺死後臺進程,其中PID是後臺進程的進程ID。我嘗試了沒有&(沒有在後臺運行),腳本用Ctrl-C很好地結束了。
這些問題的解決方案建議在這些鏈接中,但它不能按需要工作(後臺進程沒有被殺死)。 我提到這些鏈接:
How do I kill background processes/jobs when my shell script exits?
我懷疑你打斷髮布腳本,因爲它不需要等待就可以完成,所以看起來這個腳本是n代表你的實際情況。 – Armali