Interruption d'un programme lancé par Runtime.Exec()
3 réponses
athanagor
J'ai un programme Java qui lance un programme en Pro*C (du C avec des
ordres SQL Oracle) avec Runtime.Exec()
Mon sous programme en Pro*C s'interromps avec une erreur :
ORA-01013: user requested cancel of current operation
Ce qui signifie que le sous programme en Pro*C a recu un signal
d'interruption (genre Ctrl C). Alors bien sur que je n'ai rien
demandé.
Comme ce programme est plutot gourmand en mémoire, je me demande si la
JVM (1.3.1 sur AIX 4.3 dans mon cas) ne decide pas l'interrompre pcq
il consomme trop de mémoire. Est ce possible ?
J'ai essayé de jouer sur les options Xms et Xmx sans succes.
Avez vous des idées sur l'origine de mon plantage ? Avez vous des
pistes pour resoudre ou contourner cette limitation.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Miguel Moquillon
J'ai un programme Java qui lance un programme en Pro*C (du C avec des ordres SQL Oracle) avec Runtime.Exec()
Mon sous programme en Pro*C s'interromps avec une erreur :
ORA-01013: user requested cancel of current operation
Ce qui signifie que le sous programme en Pro*C a recu un signal d'interruption (genre Ctrl C). Alors bien sur que je n'ai rien demandé.
Comme ce programme est plutot gourmand en mémoire, je me demande si la JVM (1.3.1 sur AIX 4.3 dans mon cas) ne decide pas l'interrompre pcq il consomme trop de mémoire. Est ce possible ?
La JVM n'a rien à voir dans ce cas. Si effectivement, ton prog en Pro*C
consomme trop de ressources et que le swap ne suffit plus (dans le cas de la mémoire), alors c'est le kernel qui tue lui-même le process pour donner une chance au système d'être réactif et de pouvoir servir d'autres processus.
Miguel
J'ai un programme Java qui lance un programme en Pro*C (du C avec des
ordres SQL Oracle) avec Runtime.Exec()
Mon sous programme en Pro*C s'interromps avec une erreur :
ORA-01013: user requested cancel of current operation
Ce qui signifie que le sous programme en Pro*C a recu un signal
d'interruption (genre Ctrl C). Alors bien sur que je n'ai rien
demandé.
Comme ce programme est plutot gourmand en mémoire, je me demande si la
JVM (1.3.1 sur AIX 4.3 dans mon cas) ne decide pas l'interrompre pcq
il consomme trop de mémoire. Est ce possible ?
La JVM n'a rien à voir dans ce cas. Si effectivement, ton prog en Pro*C
consomme trop de ressources et que le swap ne suffit plus (dans le cas
de la mémoire), alors c'est le kernel qui tue lui-même le process pour
donner une chance au système d'être réactif et de pouvoir servir
d'autres processus.
J'ai un programme Java qui lance un programme en Pro*C (du C avec des ordres SQL Oracle) avec Runtime.Exec()
Mon sous programme en Pro*C s'interromps avec une erreur :
ORA-01013: user requested cancel of current operation
Ce qui signifie que le sous programme en Pro*C a recu un signal d'interruption (genre Ctrl C). Alors bien sur que je n'ai rien demandé.
Comme ce programme est plutot gourmand en mémoire, je me demande si la JVM (1.3.1 sur AIX 4.3 dans mon cas) ne decide pas l'interrompre pcq il consomme trop de mémoire. Est ce possible ?
La JVM n'a rien à voir dans ce cas. Si effectivement, ton prog en Pro*C
consomme trop de ressources et que le swap ne suffit plus (dans le cas de la mémoire), alors c'est le kernel qui tue lui-même le process pour donner une chance au système d'être réactif et de pouvoir servir d'autres processus.
Miguel
Buarac
Bonjour,
Runtime.exec() renvoie un objet Process. Il faut peut être utiliser le flux d'erreurs ( getErrorStream )
"Athanagor Wurlitzer" a écrit dans le message de news:
J'ai un programme Java qui lance un programme en Pro*C (du C avec des ordres SQL Oracle) avec Runtime.Exec()
Mon sous programme en Pro*C s'interromps avec une erreur :
ORA-01013: user requested cancel of current operation
Ce qui signifie que le sous programme en Pro*C a recu un signal d'interruption (genre Ctrl C). Alors bien sur que je n'ai rien demandé.
Comme ce programme est plutot gourmand en mémoire, je me demande si la JVM (1.3.1 sur AIX 4.3 dans mon cas) ne decide pas l'interrompre pcq il consomme trop de mémoire. Est ce possible ?
J'ai essayé de jouer sur les options Xms et Xmx sans succes.
Avez vous des idées sur l'origine de mon plantage ? Avez vous des pistes pour resoudre ou contourner cette limitation.
Par avance merci,
A.
Bonjour,
Runtime.exec() renvoie un objet Process. Il faut
peut être utiliser le flux d'erreurs ( getErrorStream )
"Athanagor Wurlitzer" <athanagor@ifrance.com> a écrit dans le message de
news:519e2aa2.0407020022.f764b80@posting.google.com...
J'ai un programme Java qui lance un programme en Pro*C (du C avec des
ordres SQL Oracle) avec Runtime.Exec()
Mon sous programme en Pro*C s'interromps avec une erreur :
ORA-01013: user requested cancel of current operation
Ce qui signifie que le sous programme en Pro*C a recu un signal
d'interruption (genre Ctrl C). Alors bien sur que je n'ai rien
demandé.
Comme ce programme est plutot gourmand en mémoire, je me demande si la
JVM (1.3.1 sur AIX 4.3 dans mon cas) ne decide pas l'interrompre pcq
il consomme trop de mémoire. Est ce possible ?
J'ai essayé de jouer sur les options Xms et Xmx sans succes.
Avez vous des idées sur l'origine de mon plantage ? Avez vous des
pistes pour resoudre ou contourner cette limitation.
Runtime.exec() renvoie un objet Process. Il faut peut être utiliser le flux d'erreurs ( getErrorStream )
"Athanagor Wurlitzer" a écrit dans le message de news:
J'ai un programme Java qui lance un programme en Pro*C (du C avec des ordres SQL Oracle) avec Runtime.Exec()
Mon sous programme en Pro*C s'interromps avec une erreur :
ORA-01013: user requested cancel of current operation
Ce qui signifie que le sous programme en Pro*C a recu un signal d'interruption (genre Ctrl C). Alors bien sur que je n'ai rien demandé.
Comme ce programme est plutot gourmand en mémoire, je me demande si la JVM (1.3.1 sur AIX 4.3 dans mon cas) ne decide pas l'interrompre pcq il consomme trop de mémoire. Est ce possible ?
J'ai essayé de jouer sur les options Xms et Xmx sans succes.
Avez vous des idées sur l'origine de mon plantage ? Avez vous des pistes pour resoudre ou contourner cette limitation.
Par avance merci,
A.
athanagor
Miguel Moquillon wrote in message news:<40e51cf2$0$18106$...
J'ai un programme Java qui lance un programme en Pro*C (du C avec des ordres SQL Oracle) avec Runtime.Exec()
Mon sous programme en Pro*C s'interromps avec une erreur :
ORA-01013: user requested cancel of current operation
Ce qui signifie que le sous programme en Pro*C a recu un signal d'interruption (genre Ctrl C). Alors bien sur que je n'ai rien demandé.
Comme ce programme est plutot gourmand en mémoire, je me demande si la JVM (1.3.1 sur AIX 4.3 dans mon cas) ne decide pas l'interrompre pcq il consomme trop de mémoire. Est ce possible ?
La JVM n'a rien à voir dans ce cas. Si effectivement, ton prog en Pro*C
consomme trop de ressources et que le swap ne suffit plus (dans le cas de la mémoire), alors c'est le kernel qui tue lui-même le process pour donner une chance au système d'être réactif et de pouvoir servir d'autres processus.
Miguel
Merci de ta réponse mais malheureusement ce n'est pas cela puisque le Pro*C lancé directement sur la ligne de commande fonctionne tres bien. Si qqn a d'autres idées je suis toujours preneur, j'ai pas réglé ce problème. Merci.
Miguel Moquillon <miguel.moquillon@silicomp.com> wrote in message news:<40e51cf2$0$18106$626a14ce@news.free.fr>...
J'ai un programme Java qui lance un programme en Pro*C (du C avec des
ordres SQL Oracle) avec Runtime.Exec()
Mon sous programme en Pro*C s'interromps avec une erreur :
ORA-01013: user requested cancel of current operation
Ce qui signifie que le sous programme en Pro*C a recu un signal
d'interruption (genre Ctrl C). Alors bien sur que je n'ai rien
demandé.
Comme ce programme est plutot gourmand en mémoire, je me demande si la
JVM (1.3.1 sur AIX 4.3 dans mon cas) ne decide pas l'interrompre pcq
il consomme trop de mémoire. Est ce possible ?
La JVM n'a rien à voir dans ce cas. Si effectivement, ton prog en Pro*C
consomme trop de ressources et que le swap ne suffit plus (dans le cas
de la mémoire), alors c'est le kernel qui tue lui-même le process pour
donner une chance au système d'être réactif et de pouvoir servir
d'autres processus.
Miguel
Merci de ta réponse mais malheureusement ce n'est pas cela puisque le
Pro*C lancé directement sur la ligne de commande fonctionne tres bien.
Si qqn a d'autres idées je suis toujours preneur, j'ai pas réglé ce
problème. Merci.
Miguel Moquillon wrote in message news:<40e51cf2$0$18106$...
J'ai un programme Java qui lance un programme en Pro*C (du C avec des ordres SQL Oracle) avec Runtime.Exec()
Mon sous programme en Pro*C s'interromps avec une erreur :
ORA-01013: user requested cancel of current operation
Ce qui signifie que le sous programme en Pro*C a recu un signal d'interruption (genre Ctrl C). Alors bien sur que je n'ai rien demandé.
Comme ce programme est plutot gourmand en mémoire, je me demande si la JVM (1.3.1 sur AIX 4.3 dans mon cas) ne decide pas l'interrompre pcq il consomme trop de mémoire. Est ce possible ?
La JVM n'a rien à voir dans ce cas. Si effectivement, ton prog en Pro*C
consomme trop de ressources et que le swap ne suffit plus (dans le cas de la mémoire), alors c'est le kernel qui tue lui-même le process pour donner une chance au système d'être réactif et de pouvoir servir d'autres processus.
Miguel
Merci de ta réponse mais malheureusement ce n'est pas cela puisque le Pro*C lancé directement sur la ligne de commande fonctionne tres bien. Si qqn a d'autres idées je suis toujours preneur, j'ai pas réglé ce problème. Merci.