Gast Geplaatst: 2 november 2007 Geplaatst: 2 november 2007 Hoi allemaal, Ik breek mijn hoofd over het volgende. Ik zit een beetje te prutsen met de sources om een plugin te bouwen. Alles werkt prima, geen enkel probleem, compileren alles gaat goed. Maar nu wil ik graag vanuit mijn plugin een extern programma starten, en daar zit het probleem. Ik ben gewend om dit met system("/bin/ls") (bijvoorbeeld) te doen, maar op de een of andere manier werkt dit niet binnen de plugin. Weet iemand hoe ik dat moet doen ? hartelijk bedankt ! Groeten, Patrick
view Geplaatst: 2 november 2007 Geplaatst: 2 november 2007 Hallo Patrick, het zou moeten werken. Code: void eDemoDialog::waitReady(){ eString message; eMessageBox msg(message, "\"Ready\"", eMessageBox::iconInfo|eMessageBox::btOK); msg.show(); msg.exec(); msg.hide(); Code: system("/bin/bestandsnaam.sh |grep tcp > /bin"); waitReady(); break; Dit gebruik ik voor de oudere box types zoals DM7000/DM500/DM56x0 Hiermee start ik een *.sh bestand. In deze bestanden kun je dan weer een script uitvoeren. Met de eerste code krijg je ook de melding "Ready" als het bewuste script klaar is Groeten, view
Gast Geplaatst: 2 november 2007 Geplaatst: 2 november 2007 Hoi View, Dankjewel, Het staat erin, en de source compileerd ok. Echter, het script word nog steeds niet uitgevoerd. Mischien heb ik toch iets fout staan nog, ik heb de volgende aanroep van de routine. Die word aangeroepen, de messagebox met Ready Verschijnt gewoon.; system("/var/etc/scripts/mijnscript.sh |grep tcp > /var"); waitReady(); Dat is wat ik aanroep. Script staat inderdaad in /var/etc/scripts/ etc, alles gechecked. die grep die kijkt toch of hij de /var directory terugkrijgt ? Groeten, Patrick
view Geplaatst: 2 november 2007 Geplaatst: 2 november 2007 Stomme vraag misschien maar staan de rechten van je .sh bestand goed? (755) Citaat: die grep die kijkt toch of hij de /var directory terugkrijgt ? Klopt als een bus.
dAF2000 Geplaatst: 2 november 2007 Geplaatst: 2 november 2007 /var/etc/scripts/mijnscript.sh |grep tcp > /var Dat klopt toch al niet? /var is geen file.
Gast Geplaatst: 2 november 2007 Geplaatst: 2 november 2007 Hoi, Jawel, mijn rechten staan OK. Dat is het niet. Erg raar, als dat ozu moeten werken dan moet ie het doen. Zoals ik al zei de routine word wel aangeroepen aangezien hij de messagebox laat zien. Wat bedoel je dAF2000 ? moet er achter die grep een filenaam staan ? Dan zou dit inderdaad niet goed zijn. Is er soms nog iets anders nodig om een shellscript uit te voeren vanuit een plugin ? Patrick
Gast Geplaatst: 2 november 2007 Geplaatst: 2 november 2007 Hmm, net nog wat anders geprobeerd, het commando word simpelweg niet uitgevoerd. Ik heb het even vervangen door system("ls -l > /test"); en ook die (/test) file word niet aangemaakt. Oftewel hij doet gewoon niets. Volgens mij mis ik wat. Patrick
dAF2000 Geplaatst: 3 november 2007 Geplaatst: 3 november 2007 /test werkt waarschijnlijk ook niet, omdat je 't over CDK hebt. Probeer eens /tmp/koetjeboe.
Aanbevolen berichten
Maak een account aan of log in om te reageren
Je moet een lid zijn om een reactie te kunnen achterlaten
Account aanmaken
Registreer voor een nieuwe account in onze community. Het is erg gemakkelijk!
Registreer een nieuwe accountInloggen
Heb je reeds een account? Log hier in.
Nu inloggen