2010-05-19 8 views
1

J'utilise Fedora Linux où ulimit -n 10000 augmentations de limite de fichier JUSQU'A 10000. Je veux obtenir le même en utilisant le programme javaComment écrire programme java pour augmenter la limite de fichier en utilisant ulimit

Comment écrire programme java pour augmenter Limite de fichier en utilisant ulimit J'ai essayé avec le programme ci-dessous mais cela n'a pas bien fonctionné. Le programme n'a pas donné d'erreur. mais la limite de fichier augmentation didnot aussi

public class IncreaseFIle { 
    public static void main(String[] args) { 

     String command = "/bin/bash ulimit -n 10000"; 
//  String command = "pwd"; 
     try { 
      Runtime.getRuntime().exec(command); 

     } catch (IOException ex) { 
      ex.printStackTrace(); 
     } 
    } 
} 

Merci Sunil Kumar Sahoo

+0

En quoi consiste la boucle infinie? –

+1

La prochaine fois s'il vous plaît formater votre code correctement avec le bouton '101010'. –

+0

Ce n'est pas la cause du problème, mais n'avez-vous pas besoin d'être root pour ça? –

Répondre

5

De la page man:

The ulimit utility shall set or report the file-size writing limit imposed on files written by the shell and its child processes.

Vous programme java n'est pas la coquille ou l'un de ses processus fils - c'est le processus ancêtre, et donc n'est pas affecté par tout ce que fait son processus fils. Pour obtenir un autre ulimit, vous devez d'une manière ou d'une autre faire appel à ulimit avant de lancer java.

+0

thnx Kilian Forth, pour votre réponse –

0

Le programme n'a donné aucune erreur.

En effet, vous ignorez tout résultat. Vous devez vous procurer l'objet Process retourné et lire ses getInputStream() et getErrorStream() (qui renvoie respectivement stdout et stderr du programme). Cette information devrait en dire plus sur la cause du problème et la compréhension de la cause devrait conduire à la solution.

Vérifiez cet article (! Tous les 4 pages) pour apprendre comment utiliser Runtime#exec() correctement:
When Runtime.exec() won't

+0

J'ai essayé d'imprimer erreur mais je n'ai pas eu d'erreur. J'ai quitté le statut 127 –