Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Interruption d'un programme lancé par Runtime.Exec()

3 réponses
Avatar
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.

Par avance merci,

A.

3 réponses

Avatar
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

Avatar
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.


Avatar
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.