PDA

Visualizza la versione completa : [C e Linux] uso del comando system


Turrican
11-11-2004, 16:46
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

/dev/null
12-11-2004, 15:26
Con la system non so, non la uso mai, dato che e' pochissimo elegante :fagiano:

Potresti fare te tutto il lavoro :D

- 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


:ciauz:

kentaromiura
12-11-2004, 15:30
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!

Turrican
12-11-2004, 19:57
grazie mille non avevo pensato all'idea della pipe :biifu:

Loading