IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Résultat commande système


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2016
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2016
    Messages : 13
    Par défaut Résultat commande système
    Bonjour à tous,

    Suite a une étude universitaire, j'ai une question :

    Étude sur la question "Existe-t-il un moyen (système, outil) permettant de connaître la taille du résultat d'une commande ou d'un script sans l'exécuter ?"

    En faite, si on prend une commande simple comme find (rechercher un mot) qui me dit que le résultat redirigé dans un fichier, ce fichier peut-il atteindre une taille assez conséquente pour rendre full un FileSystem ?

    Personnellement, je pense que c'est impossible de connaître la taille du résultat avant l'exécution de la commande.

    Par contre pour certaine commande oui on peut savoir la taille que fera le résultat quelque soit le système, mais quelles sont ces commandes ?

    Merci par avance pour toutes réponses.

  2. #2
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 287
    Par défaut
    Bonjour

    C'est plus une question algorithmique qu'une question de "shell et commandes GNU".

    Comme le résultat d'un programme est indécidable, la taille de ce résultat ne l'est pas plus.

    Que cherches-tu vraiment ? Une commande pour saturer l'espace disque ?

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2016
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2016
    Messages : 13
    Par défaut
    Bonjour,

    la question "Existe-t-il un moyen (système, outil) permettant de connaître la taille du résultat d'une commande ou d'un script sans l'exécuter ?"

    Bon peut être un mauvais exemple que j'ai pris avec find

    Mais si on fait un ping -c3 10.100.102.102 > résultat.txt
    cette commande on sait se que sera le résultat
    soit il rejette la commande car il ne trouve pas l'IP soit il crée 3 lignes de résultats. Le résultat donc ne peut pas dépasser 3 lignes.

    Personnellement, je pense que c'est impossible de connaître la taille du résultat avant l'exécution de la commande, mais aussi tout dépend de la la commande car on sait a l'avance ce pourrait être le résultat non ?

    L'exemple donnée comme la commande ping, il doit bien y avoir d'autre ? quelque soit le système d'exploitation ?
    Ce que je recherche c'est de connaître le résultat d'une commande avant son exécution ? bon il faut connaître toutes les commandes ce que je connais pas :-( mais si toute le monde pouvait me donner des commandes, je ferai une liste.
    Attention, par exemple sous Linux d'une version a une autre les commandes changes...

    Merci par avance pour toutes réponses.

  4. #4
    Expert confirmé Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Par défaut
    On ne peut pas connaitre a l avance effectivement

    par contre si on a un doute c est en principe qu il y a un deja un risque.....
    dans ce cas y a des solutions
    -laisser planter et avoir un petit crash genre "no space left on device" quand on travail dans /tmp par exemple c est pas grave (si /tmp est une partition = encore moins)
    -monter un device spécialement pour l occasion qu on désactive après (USB/NAS/etc...)

    En principe même sur des config hyper stabilisées on préconiseur de ne jamais dépasser 80% d occupation par partition + un filesystem qui prend sa propre marge de 5%.
    ce qui limite considérablement le risque de saturation....

    et comme indique un FS full n a (sauf quelques cas connus mais les "bonnes pratique" interdise de les utiliser donc.......) que peu de conséquences... on nettoye on tue les processus bloques et point barre

    =========================================================

    On a qd même parfois des indices ... avec lsof ou en regardant dans /proc/'numero'/ on peut +ou- deviner avec la liste des fichiers ouvert
    une idée de ce sur quoi on va extraire des données et si l extraction est bien faite elle est forcement filtrée donc volume < a la taille des fichiers analyses ... mais bon la encore c est beaucoup de précautions pour pas grand risque

  5. #5
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 287
    Par défaut
    @stef1945: Tu insistes en reposant la question. J'insiste donc sur la réponse que je n'ai pas donnée en l'air. C'est une évocation du théorème de Rice, du problème de l'arrêt, des travaux de Alan Turing, Kürt Godel et autres grands logiciens.

    La réponse à ta question est connue: ni la sortie d'un programme, ni sa taille, n'est connue à l'avance.


    Si tu cherches la liste des fonctions intégrées de la commande bash, une discussion avait déjà été ouverte à ce sujet et la conclusion avait été :
    http://linux.developpez.com/faq/?pag...mandes-de-Bash

  6. #6
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 347
    Par défaut
    Bonjour,

    Possible ne veux pas dire facile:
    Tu peux savoir la taille du résultat sans l’exécuter, il suffit juste que tu te tapes "à la mano" ce qu'elle ferait avec les données qu'elle a
    Donc oui, c'est possible (si on considère que la taille infinie fait partie d'une réponse possible - comme par exemple une commande qui calculerait les décimal de pi).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 8
    Dernier message: 04/03/2011, 16h22
  2. Commandes systèmes avec pl/pgsql
    Par Takayanagi dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 11/08/2006, 12h36
  3. Réponses: 2
    Dernier message: 02/01/2006, 10h39
  4. [Process] éxecution d'une commande système
    Par alex'l dans le forum API standards et tierces
    Réponses: 12
    Dernier message: 13/09/2005, 17h29
  5. Commande Système
    Par siaoly dans le forum Langage
    Réponses: 5
    Dernier message: 14/07/2005, 00h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo