Trong tập lệnh của tôi, tôi đặt set -e
để ngừng xử lý nếu xảy ra lỗi. Nó hoạt động tốt cho tất cả các lệnh chạy ở nền trước, nhưng một số lệnh của tôi phải được chạy song song trong nền. Thật không may nếu quá trình nền không thành công thì tập lệnh không bị dừng mặc dù cờ set -e
.set -e và quá trình nền
Ví dụ về quy trình nền trước hoạt động.
#!/bin/bash
set -e
ls -l no_file
sleep 100
Ví dụ về quy trình nền không hoạt động.
#!/bin/bash
set -e
ls -l no_file &
sleep 100
Làm cách nào để xử lý lỗi của quá trình nền?
Giải pháp chờ đợi PID là điều hoàn hảo tôi đang tìm kiếm. Cảm ơn. – Marcin