Điều này có thể được thực hiện bằng 'chờ' + chuyển hướng của chờ đợi đến/dev/null:
sleep 2 &
PID=$!
kill -9 $PID
wait $PID 2>/dev/null
sleep 2
sleep 2
sleep 2
Kịch bản này sẽ không cung cấp cho các "giết" thông điệp:
-bash-4.1$ ./test
-bash-4.1$
trong khi, nếu bạn cố gắng sử dụng một cái gì đó như:
sleep 2 &
PID=$!
kill -9 $PID 2>/dev/null
sleep 2
sleep 2
sleep 2
Nó sẽ ra thông điệp:
-bash-4.1$ ./test
./test: line 4: 5520 Killed sleep 2
-bash-4.1$
Tôi thích giải pháp này nhiều hơn so với sử dụng 'không nhận' có thể có ý nghĩa khác.
nguồn Idea: https://stackoverflow.com/a/5722850/1208218
tuyệt vời, đây là những gì tôi muốn, cảm ơn rất nhiều người đàn ông .. – chemila
disown có ngụ ý của vỏ không gửi 'SIGHUP' cho đứa trẻ khi nó chấm dứt, xem [câu hỏi này] (http://unix.stackexchange.com/câu hỏi/3886/sự khác biệt giữa-nohup-disown-và). Đây là [answer] (http://stackoverflow.com/a/5722850/52499). –