Играюсь с bash. Интересно можно ли узнать занят ли bash, или можно вводить следующую команду.
Например:
QProcess task("bash");
task.start();
...
task.write("pkexec sudo -s\n");
task.waitForBytesWritten();
task.write("echo do THIS after sudo\n");
task.waitForBytesWritten();
В этом случае, конечно, все следующие команды после pkexec будут выполнены от рута, но вот когда они будут выполнены не могу придумать как проверить.
Пока на ум пришло только:
task.write("7z b;echo -e -n \"\\0001\"\n");
task.waitForBytesWritten();
И собственно проверять выхлоп на наличие непечатаемой хрени, но это как-то через ж...
Или все-таки лучше каждую команду выполнять по отдельности и ловить exitCode из QProcess?