i'm trying call shell script qt gui, after running script, bash session stays open when should finish.
having code:
qstring s = "./script.sh " + argument; qint64 *pid = null; qprocess process; process.startdetached("/bin/bash", qstringlist() << "-c" << s, null, pid); bool finished = process.waitforfinished(-1); std::cout << "ended";
so after running script, expecting command entered, can put command , execute it. problem never finishes until enter command.
i tried modifying s
variable this:
qstring s = "./script.sh " + argument + " ;exit";
hoping end bash session, nothing happens.
if instead of using function startdetached
use start
close bash session without ;exit
command.
hope knows how solve or workaround!
startdetached()
static method; started new process, it's not represented process
object.
when wait process
finish, wait forever, because process
never started.
try like:
process.start("/bin/bash", qstringlist() << "-c" << s); bool finished = process.waitforfinished(-1);
you might want redirect i/o before start()
.
Comments
Post a Comment