TheDodger
10-05-2002, 04:37
Moin!
Ich versuche gerade mehrere prozesse mittels KProcess auszuführen, deren einzelne Rückgabewerte ich benötige.
allerdings bekomme ich diesen nur vom letzten Prozess!
Vielleicht ist meine Herangehensweise auch falsch?
void KAVMailGate::init()
{
proc = new KProcess();
connect( proc, SIGNAL( processExited( KProcess * ) ), this, SLOT( slotExited( KProcess * ) ) );
[...]
checkDeamons();
}
[...]
void KAVMailGate::checkDeamons()
{
procMode = DEAMON_CHECKavgated; // define to 0
proc->clearArguments();
*proc << "checkproc" << "/usr/sbin/avgated";
proc->start( KProcess::NotifyOnExit, KProcess::All );
procMode = DEAMON_CHECKavgatefwd; // define to 1
proc->clearArguments();
*proc << "checkproc" << "/usr/sbin/avgatefwd";
proc->start( KProcess::NotifyOnExit, KProcess::All );
}
[...]
void KAVMailGate::slotExited( KProcess* kProc )
{
int i, j;
i = kProc->exitStatus();
j = kProc->normalExit();
qDebug( "'%u' = '%u' - '%u'", procMode, i, j );
}
Wenn ich das Programm ausführe steht procMode immer auf 1 ...
Kann ich evtl. KProcess so gar nicht benutzen?
Ich will aber nicht für jeden Prozess den ich starte ein eigenes KProzess erzeugen ... denn dann ich benötige davon ca. 10 Stück :(
Die einzelnen Funktionen habe ich auch schon mal ausgelagert, aber da habe ich das gleiche Problem.
any idea?
Ich versuche gerade mehrere prozesse mittels KProcess auszuführen, deren einzelne Rückgabewerte ich benötige.
allerdings bekomme ich diesen nur vom letzten Prozess!
Vielleicht ist meine Herangehensweise auch falsch?
void KAVMailGate::init()
{
proc = new KProcess();
connect( proc, SIGNAL( processExited( KProcess * ) ), this, SLOT( slotExited( KProcess * ) ) );
[...]
checkDeamons();
}
[...]
void KAVMailGate::checkDeamons()
{
procMode = DEAMON_CHECKavgated; // define to 0
proc->clearArguments();
*proc << "checkproc" << "/usr/sbin/avgated";
proc->start( KProcess::NotifyOnExit, KProcess::All );
procMode = DEAMON_CHECKavgatefwd; // define to 1
proc->clearArguments();
*proc << "checkproc" << "/usr/sbin/avgatefwd";
proc->start( KProcess::NotifyOnExit, KProcess::All );
}
[...]
void KAVMailGate::slotExited( KProcess* kProc )
{
int i, j;
i = kProc->exitStatus();
j = kProc->normalExit();
qDebug( "'%u' = '%u' - '%u'", procMode, i, j );
}
Wenn ich das Programm ausführe steht procMode immer auf 1 ...
Kann ich evtl. KProcess so gar nicht benutzen?
Ich will aber nicht für jeden Prozess den ich starte ein eigenes KProzess erzeugen ... denn dann ich benötige davon ca. 10 Stück :(
Die einzelnen Funktionen habe ich auch schon mal ausgelagert, aber da habe ich das gleiche Problem.
any idea?