Có thể gọi số system()
có thể die
trong Perl 5 không?Hệ thống Perl có thể gọi bao giờ chết không?
(nói cách khác, để 100% chống tai nạn một chương trình mà không một cuộc gọi system()
, hiện nó cần phải được bao bọc thành một eval
khối, hoặc là hoàn toàn hoàn toàn không cần thiết?)
Tôi chưa tìm thấy một đề cập đến khả năng đó ở số perldoc system
, nhưng hoàn toàn không tìm thấy chính xác "cuộc gọi này không bao giờ chết".
LƯU Ý: câu hỏi là về CORE Perl cơ bản ở đây, không autodie
hoặc bất kỳ mô-đun tùy chỉnh nào khác có tác dụng tương tự. Ngoài ra, giả sử không có tín hiệu ALRM
được đặt hoặc bất kỳ trình xử lý tín hiệu tùy chỉnh nào khác cho vấn đề đó.
Tôi giả định rằng tất cả các phiên bản của Perl 5. * đều hoạt động giống nhau, nhưng nếu không, câu trả lời liên quan đến 5.8 sẽ được đánh giá cao.
Tôi chưa xem và tìm nguồn, vì vậy tôi không đăng câu trả lời này, nhưng tôi sẽ ngạc nhiên nếu không có cách nào để 'hệ thống' hết bộ nhớ. – Gilles
@Gilles - sẽ "Hết bộ nhớ" khiến Perl phát hành "chết" thay vì coredump/crash? Tôi sẽ giả định sau, nhưng cũng không chắc chắn – DVK
@Gilles - [nếu chỉ chúng tôi có một nơi mà chúng tôi có thể đặt câu hỏi lập trình ...] (http://stackoverflow.com/questions/13243637/is-there-a-standard -way-for-perl-to-behave-khi-nó-chạy-out-of-bộ nhớ). Hãy xem những gì SO khôn ngoan phát hiện ra. – DVK