Seite 1 von 1

bash-script wird nicht ausgeführt (QProcess)

Verfasst: 21. September 2004 08:32
von doitux
Hallo.

Ich hab ein Programm welches mir ein bash-script generiert:

QString atcmd = "/tmp/atcmd";
QFile file1( atcmd ); // Write the text to a file
if ( file1.open( IO_WriteOnly ) ) {
QTextStream stream( &file1 );
stream << "#!/bin/bash -xv\n";
stream << "at -f ";
stream << save;
stream << " ";
stream << start_time;
stream << " ";
stream << start_date;
stream << "\n";
stream << "rm ";
stream << atcmd;
}

danach wird das script ausführbar gemacht:

chmod1 = new QProcess( this );
chmod1->addArgument( "chmod" );
chmod1->addArgument( "ugo+x" );
chmod1->addArgument( save );
chmod1->addArgument( atcmd );
chmod1->start();

jetzt möchte ich gerne das script starten:

go = new QProcess( this );
go->addArgument( atcmd );
go->start();

dieses wird leider nicht richtig abgearbeitet. auf jeden fall kann ich mit einem atq nichts davon sehen. wenn ich das script dann per hand starte funtioniert das.

Hat jemand eine idee was ich da falsch mache?

gruß
doitux

Verfasst: 21. September 2004 17:58
von monte
ich würd mal ein

cerr << QString( go->readStderr() ).latin1();

probieren;

Verfasst: 21. September 2004 18:43
von lepsai
file1.close() nicht vergessen :)

Verfasst: 21. September 2004 22:16
von doitux
lepsai: vielen vielen heißen dank. genau das wars. naja das kommt davon wenn man sich die syntax nicht genau anschaut sondern nur copy&paste&edit macht ;) deswegen bin ich 4 monate nicht weitergekommen. wegen so nem sch...
also nochmal vielen dank.

gruß
doitux