|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: May 2010
Messaggi: 157
|
[BASH] Scrivere su FIFO con echo (o cat)
Ciao,
sto scrivendo un programmino in C che dovrà fungere da server. Questo server deve leggere dati da una FIFO, elaborarli e restituire l'output attraverso una seconda FIFO. L'esercizio chiede che il client debba mandare i dati al server scrivendoli sulla FIFO direttamente da shell, tramite cat o echo. Il problema è che se scrivo un Codice:
echo "msg_test" > /tmp/fifo_read Idem se uso cat. Dove sto sbagliando?? Grazie! |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Dec 2006
Messaggi: 3808
|
per FIFO intendi cosa ?
Un normale file ? un eseguibile che può leggere una pipe ? per la cronaca dovresti far presente a chi ti ha assegnato l'esercizio che è mediamente ignorante in materia, dato che echo è largamente sconsigliato specialmente per un uso all'interno di uno script, e specialmente se vuoi avere totale controllo sui caratteri e le stringhe, e cat è una utility esterna, solitamente parte delle GNU Core Utilities, quindi è pure un pessimo esercizio per imparare ad usare la bash . |
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: May 2010
Messaggi: 157
|
L'esercizio è system programming.
Ci viene detto di usare echo, cat o mkfifo (e quest'ultimo mi fa strano) per verificare che il server (scritto in c) legga a dovere ciò che gli viene passato e produca un output adeguato. Per FIFO intendo una named pipe, creata con la syscall mkfifo(). |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Dec 2006
Messaggi: 3808
|
allora ti basta una ricerca su internet, sù!, non è così difficile, la cosa più impegnativa è capire come si opera la redirezione dello stream/flusso con una shell come la bash.
http://www.linuxjournal.com/content/...pes-fifos-bash http://stackoverflow.com/questions/2...a-shell-script |
![]() |
![]() |
![]() |
#5 |
Member
Iscritto dal: May 2010
Messaggi: 157
|
E' strano, perché la redirezione la conosco bene e la prima volta che l'ho usata per le fifo non ha funzionato come mi aspettavo. Adesso invece va tutto. Boh!!
Comunque grazie. |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 03:02.