eg: //启动一个tar进程,打包备份某个路径下的所有内容。
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
if(a.arguments().count() != 2){
qDebug() << QObject::tr("需要一个备份路径作为参数,如:'process /home'");
return -1;
}
QProcess proc;
QStringList arguments;
arguments << "czvf" << "backup.tar.gz";
arguments << a.arguments().at(1);
proc.start("tar",arguments); //启动tar进程
if(!proc.waitForStarted()) //若成功,tar程序开始运行
return false;
proc.closeWriteChannel(); //不需要向进程输入数据,所以关闭了写通道
QByteArray proOutPut;
while(!proc.waitForFinished(0)){ //检查进程是否结束,参数为阻塞时间
if(proc.waitForReadyRead(10)){ //有可供读取的数据,参数为阻塞时间
procOutPut = proc.readAl
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
if(a.arguments().count() != 2){
qDebug() << QObject::tr("需要一个备份路径作为参数,如:'process /home'");
return -1;
}
QProcess proc;
QStringList arguments;
arguments << "czvf" << "backup.tar.gz";
arguments << a.arguments().at(1);
proc.start("tar",arguments); //启动tar进程
if(!proc.waitForStarted()) //若成功,tar程序开始运行
return false;
proc.closeWriteChannel(); //不需要向进程输入数据,所以关闭了写通道
QByteArray proOutPut;
while(!proc.waitForFinished(0)){ //检查进程是否结束,参数为阻塞时间
if(proc.waitForReadyRead(10)){ //有可供读取的数据,参数为阻塞时间
procOutPut = proc.readAl