[risolto]QProcess: utilizzare pipe[/ risolto]

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
ubuntu452
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 382
Iscrizione: domenica 12 gennaio 2014, 9:36
Desktop: Unity
Distribuzione: Ubuntu 15.04
Sesso: Maschile

[risolto]QProcess: utilizzare pipe[/ risolto]

Messaggio da ubuntu452 »

Ciao a tutti, sto avendo un piccolo problemino con c++(qt), se provo ad usare qprocess con un comando tipo
"echo pass | sudo -S leafpad", non funziona.
Se qualcuno può postarmi un esempio funzionante ne sarei grato, ho cercato su tutti i forum, ma non ci riesco.
Grazie
Ultima modifica di ubuntu452 il martedì 12 maggio 2015, 18:53, modificato 1 volta in totale.
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

Re: QProcess: utilizzare pipe

Messaggio da Zoff »

QProcess come dice il nome avvia un singolo processo, non può eseguire comandi di sistema che eseguono piu' processi (anche se in serie e non in parallelo).

Un workaround è invocare bash:

Codice: Seleziona tutto

QStringList arguments = QStringList() << "-c"  << "echo pass | sudo -S leafpad";
process.start("bash",arguments);
Così facendo vai a richiamare il comando:

Codice: Seleziona tutto

bash -c "echo pass | sudo -S leafpad"
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
ubuntu452
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 382
Iscrizione: domenica 12 gennaio 2014, 9:36
Desktop: Unity
Distribuzione: Ubuntu 15.04
Sesso: Maschile

Re: QProcess: utilizzare pipe

Messaggio da ubuntu452 »

Si, infatti, ieri sera ho usato quel metodo, per non aprire un altra discussione, come faccio ad usare argomenti ad esempio ". /qtapp helloworld", però non ne nel main.cpp, ma nel file con il nome del progetto tipo "project.cpp", dove vengono usati i segnali e slot?
Ultima modifica di ubuntu452 il martedì 12 maggio 2015, 18:52, modificato 1 volta in totale.
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

Re: QProcess: utilizzare pipe

Messaggio da Zoff »

Apri un'altra discussione e metti [Risolto] a questa.
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 4 ospiti