Una chiamata system()
può mai die
in Perl 5?Una chiamata di sistema Perl() può mai morire?
(in altre parole, al fine di 100% incidente a prova di un programma che fa una chiamata system()
, Ha bisogno di essere avvolto in un eval
blocco, o è che tutto completamente inutile?)
Non ho trovato una sola menzione a questa possibilità in perldoc system
, ma non ho trovato la precisa "questa chiamata non muore mai".
NOTA: la domanda riguarda Basic CORE Perl qui, n. autodie
o qualsiasi altro modulo personalizzato che avrebbe un effetto simile. Inoltre, non assumere il segnale ALRM
o qualsiasi altro gestore di segnale personalizzato.
Suppongo che tutte le versioni di Perl 5. * si comportino allo stesso modo, ma in caso contrario, una risposta pertinente a 5.8 sarebbe apprezzata.
Non sono andato a guardare la fonte, quindi non sto postando questo come risposta, ma sarei sorpreso se non ci fosse modo per 'sistema' di esaurire la memoria. – Gilles
@Gilles - "Memoria insufficiente" causa a Perl l'emissione di un "dado" anziché di coredump/crash? Assumerei il più tardi, ma non lo so, né – DVK
@Gilles - [se solo avessimo un posto dove possiamo porre domande di programmazione ...] (http://stackoverflow.com/questions/13243637/is-there-a-standard -way-per-perl-to-comportarsi-quando-da-run-out-of-memoria). Vediamo cosa scopre la saggezza SO. – DVK