2010-03-30 7 views

Respuesta

1

Probablemente pueda usar el WerAddExcludedApplication function para evitar que WER se active cuando el programa falle. Debería revertir la exclusión de sombreros nuevamente con WerRemoveExcludedApplication.

+0

Nota al margen: estoy bastante seguro de que debe haber una manera mejor. Después de todo, ¿qué vas a hacer si eso es parte de un trabajo en segundo plano automático, o simplemente tienes acceso de shell no gráfico desde remoto? Estoy bastante seguro de que hay una solución * correcta * al problema; esto es meramente un truco a su alrededor. – Joey

-1

El problema no parece ser un problema de Perl, parece un problema con los comandos del sistema. ¿A qué te refieres con "cuando se bloquean estos programas"? ¿Tus programas de sistema?

Depende de qué está causando el bloqueo. Este es el error "Dr. Watson"/característica WinQUAL y realmente no debería suceder para el código Perl puro, si lo hace, significa que el intérprete Perl se está cayendo y usted tiene un error Perl o está usando una extensión nativa que está fallando, asegúrese de tener la última versión estable de Perl o cualquier extensión nativa. Acórtalo a lo que está cayendo.

También puede desactivar la función Informes de errores de Windows, desde el panel de control de Windows.

+2

Creo que Pete significa que el programa iniciado por 'system' se está bloqueando y que la llamada' system' no regresará hasta que se haya cerrado el diálogo. 'eval' no ayudará con eso. Tampoco ayudaría con un intérprete de Perl que falla. – cjm

+0

Gracias por la corrección. Lo siento, realmente no pensé muy bien en mi respuesta e hice una suposición tonta sin leer los documentos. – codenheim

0

La activación de esta directiva de grupo en Windows Error Informes (WER) deberían ser el truco (prueba en este momento porque tengo el mismo problema): https://www.raymond.cc/blog/disable-program-has-stopped-working-error-dialog-in-windows-server-2008/

no aparecerá ninguna ventana emergente en caso de que ejecute un programa y se bloquee dentro de su llamada system() en su script perl. Pero tenga en cuenta que la política será de todo el sistema; sin embargo, no hay problema si su sistema se usa para trabajos por lotes.

+0

¡Whoa! Me acabo de dar cuenta de que tu pregunta tiene 6 años ... Espero que ya hayas solucionado eso :) –

Cuestiones relacionadas