đơn giản nhất là làm cho SIGCHLD bỏ qua trong các phụ huynh:
signal(SIGCHLD, SIG_IGN);
Sau đó, thoát khỏi tiến trình con sẽ chỉ sạch đi xa mà không cần phải được chờ đợi trên.
Lưu ý: Đây là một cách nhanh chóng & cách tiếp cận không hợp lệ và giả định rằng bạn không quan tâm đến trạng thái thoát của quá trình con hoặc về thời điểm thoát. Nếu bạn quan tâm, như bạn có lẽ nên trong một ứng dụng thực sự mạnh mẽ, sau đó xem câu trả lời khác, về việc tạo ra một chức năng xử lý tín hiệu thích hợp.
Bổ sung: Tính năng này không phổ biến trong Unix, nhưng hoạt động ít nhất trên Linux. Theo an UNIX FAQ, đó là hành vi không xác định trong POSIX. This Mac OS X man page cho thấy rằng hành vi này đã được giới thiệu trong FreeBSD 5.0 và hoạt động trên OS X chẳng hạn.
Không chắc chắn đây là bài đăng C. Có lẽ vì Unix đã được tạo ra trong C? :) –
Tại sao bạn không muốn sử dụng 'wait' hoặc' waitpid'? – FDinoff
vì 'wait' sẽ dừng quá trình cha mẹ, cho đến khi thoát. –