• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Perl: Programm über Web starten -- will nicht mit exec()

Ich hab mir ein Perl Progrämmchen geschrieben, das eigendlich ein Programm öffnen sollte.
Mir scheint, das es jedoch danach gleich wieder geschlossen wird :(

Ich habs auch mit system() versucht, da kamm der gleiche "Fehler"

Er startet das programm:
Starting Azureus... Java exec not found in PATH, starting auto-search... Java exec found in /usr/java/jre1.5.0_05/bin/ Suitable java version found [/usr/java/jre1.5.0_05/bin/java = 1.5.0_05] Configuring environment... Loading Azureus: /usr/java/jre1.5.0_05/bin/java -Xms16m -Xmx128m -cp "/home/wurstbrot/azureus/Azureus2.jar:/home/wurstbrot/azureus/swt-mozilla.jar:/home/wurstbrot/azureus/swt-pi.jar:/home/wurstbrot/azureus/swt.jar" -Djava.library.path="/home/wurstbrot/azureus" -Dazureus.install.path="/home/wurstbrot/azureus" org.gudy.azureus2.ui.swt.Main

und dann scheint er es wieder zu schließen:
'' Azureus TERMINATED.

Code:
#!/usr/bin/perl
use CGI;
use strict;
#Fehler auf dem Browser zeigen
use CGI::Carp qw(fatalsToBrowser);
my $cgi = new CGI;
#Parameter Holen: 
my $option = $cgi->param("option");

print "Content-type: text/html\n\n";
print "<html><head><title>Azureus Verwaltung</title></head>\n";
print "<body>\n";

print "Es leuft: ";
print $ENV{SERVER_SOFTWARE};
print "<br><br>";

	print '
	<form action="azureus.cgi" method="POST">  
	<select name="option" size="1">
	<option>start</option>
	<option>stop</option>
	<option>status</option>
	</select><br>
	<input type="submit"><p>';
if($option eq "start"){
print "Azureus wird gestartet!<br>";
print exec('/home/wurstbrot/azureus/azureus');
}
print "</body></html>\n";
 
Ich habe den Eindruck, dass das ein Problem mit Azureus selbst ist und nicht mit Deinem Skript. Läuft Azureus denn, wenn Du es von Hand startest?
 
Azureus leuft, wenn ich es per Konsole starte / per Klick auf die sh
wie meinst du das mit dem user?
Es fängt ja an zu starten, also kann das doch nicht der Fehler sein? (Korrigiere mich, wenn ich falsch liege)
 
cgi-script läuft unter User A
User A startet das Programm, wenn es jetzt unter A nicht geht, wegen anderer Rechte -> PENG.

andere Möglichkeit die Umgebung (env-Variablen) passt Ihm nicht...
 
Ich google mal nach env-Variablen, aber das mit dem User ist mir immer noch ein rätsel, wenn User A es nicht ausführen dürfte, dann würde er doch garnicht so weit kommen?
------------
Hab mal ein bischen gegoogelt, scheinbar kann man keine X-Programme mit CGI starten :(
 
Oben