Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [C e Linux] uso del comando system

    Ciao a tutti
    Il mio problema è il seguente:
    il comando system esegue come se fosse il terminale una stringa che gli viene passata, purtroppo una cosa di questo tipo non funzione correttamente

    system("ps agx|grep messaged|wc -l > /mnt/win_e/Uni/SisOp/run");

    in realtà qualche cosa fà, ma nel file run invece di esserci il risultato del comando viene scritto il risultato della funzione system che (secondo il manuale) restituisce 0 se il comando è errato ed un numero > di 0 se invece va a buon fine.

    In definitiva come faccio a memorizzare in run il risultato di:
    ps agx|grep messaged|wc -l
    ????????

    Grazie a tutti
    ------
    Quando un uomo siede un'ora in compagnia di una bella ragazza, sembra sia passato un minuto. Ma fatelo sedere su una stufa per un minuto e gli sembrerà più lungo di qualsiasi ora. Questa è la relatività.

  2. #2
    Utente di HTML.it L'avatar di /dev/null
    Registrato dal
    May 2004
    Messaggi
    1,936
    Con la system non so, non la uso mai, dato che e' pochissimo elegante

    Potresti fare te tutto il lavoro

    - Apri una pipe
    - Forki il processo
    - Colleghi un lato della pipe all'output del figlio e l'altra la fai tenere al padre
    - Al figlio fai eseguire il programma che vuoi
    - Dal file descriptor della pipe del padre leggi cio' che il figlio ti sputa e lo butti in un file





    Se non sai come fare qualcuna di queste cose ti rimando alla GaPiL: http://www.lilik.it/~mirko/gapil/gapil.html


    Ultima modifica ad opera dell'utente /dev/null il 01-01-0001 alle 00:00

  3. #3
    wc non sta' per word count??
    il ps aux ti restituisce i processi
    la grep mostra le righe dove c'e' messaged
    allora dove sta' il problema?? wc restituisce un numero!

  4. #4
    grazie mille non avevo pensato all'idea della pipe
    ------
    Quando un uomo siede un'ora in compagnia di una bella ragazza, sembra sia passato un minuto. Ma fatelo sedere su una stufa per un minuto e gli sembrerà più lungo di qualsiasi ora. Questa è la relatività.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.