Perlscript als Dienst unter WIN - aber keine Bildschirmausgabe

Perlscript als Dienst unter WIN - aber keine Bildschirmausgabe

am 24.11.2006 13:42:31 von Timothy Kesten

Hi Folks,

ich mache mal einen neuen Thread auf.

Die Installation meines Scripts läuft als Dienst unter WIN XP Prof. Auch das
Forking funktioniert.
Leider habe ich aber immer noch ein Problem.
Das Script soll eine Ausgabe auf dem BS liefern - realisiert über Perl/TK.
Umgesetzt wird dies durch einen system() Aufruf im Script.
Als system() deshalb, weil die Umsetzung als "sub()" sich irgendwie mit dem
Forking nicht versteht. Da gibt es irgendwelche Speicherfehler.

Der system() - Aufruf funktioniert, wenn das Script NICHT als Dienst läuft
sowie, wenn das Script als Dienst läuft, aber bei Eigenschaften des
Dienstes "Datenenaustausch zwischen Dienst und Desktop zulassen" angekreuzt
wird.
Nur leider habe ich dann das Problem, dass auch dieses cmd-Fenster
erscheint. Und das soll nicht so sein. Soll heißen: Der User soll nur
mitbekommen, dass der Dienst läuft, wenn das TK-Window aufpoppt.
Gibt es irgend einen Trick - das TK-Window aufpoppen zu lassen, aber diese
blöde cmd - Fenster zu unterdrücken?

Timothy

Re: Perlscript als Dienst unter WIN - aber keine Bildschirmausgabe

am 24.11.2006 14:17:30 von Wolf Behrenhoff

Timothy Kesten schrieb:
> Hi Folks,
>
> Nur leider habe ich dann das Problem, dass auch dieses cmd-Fenster
> erscheint. Und das soll nicht so sein. Soll heißen: Der User soll nur
> mitbekommen, dass der Dienst läuft, wenn das TK-Window aufpoppt.
> Gibt es irgend einen Trick - das TK-Window aufpoppen zu lassen, aber diese
> blöde cmd - Fenster zu unterdrücken?

Suchst du wperl?

Allerdings Dienste mit sich öffnenden Fenstern? Du machst jetzt aber
nicht einen Dienst, der dann als Admin gestartet wird und dann Fenster
für Nicht-Admins öffnet? Das tut man nämlich aus Sicherheitsgründen nicht.

Wolf

Re: Perlscript als Dienst unter WIN - aber keine Bildschirmausgabe

am 24.11.2006 14:45:19 von Timothy Kesten

Wolf Behrenhoff wrote:

> Suchst du wperl?
Danke für den Tipp.
Ist ja bei ActiveState dabei - hab's also probiert.
Leider funzt dann die gesamt Anwendung nicht.
Der Dienst soll ja an einem Socket lauschen.
Wenn über den Socket was kommt, dann soll ein Fenster aufpoppen.
Mit wperl.exe geht dies leider (warum auch immer - wo sind bei wperl.exe die
Fehlermeldungen?) nicht. :-(
Umd mit perl.exe eben nur mit den geschilderten Nachteilen.

Schade
Timothy

Re: Perlscript als Dienst unter WIN - aber keine Bildschirmausgabe

am 24.11.2006 20:55:51 von Slaven Rezic

Timothy Kesten <83311@gmx.de> writes:

> Wolf Behrenhoff wrote:
>
> > Suchst du wperl?
> Danke für den Tipp.
> Ist ja bei ActiveState dabei - hab's also probiert.
> Leider funzt dann die gesamt Anwendung nicht.
> Der Dienst soll ja an einem Socket lauschen.
> Wenn über den Socket was kommt, dann soll ein Fenster aufpoppen.
> Mit wperl.exe geht dies leider (warum auch immer - wo sind bei wperl.exe die
> Fehlermeldungen?) nicht. :-(
> Umd mit perl.exe eben nur mit den geschilderten Nachteilen.

Im Netz findest du viele Variationen für die Frage: wie verstecke ich
mein Konsolenfenster. Dort gibt es bestimmt auch Lösungen für
das Symbolisieren des Konsolenfensters.

Wenn Fehlermeldungen nach STDERR gespuckt werden, dann könnte man
Tk::Stderr verwenden, um diese in einem Tk-Fenster anzuzeigen.

Gruß,
Slaven

--
Slaven Rezic - slaven rezic de

Tk-AppMaster: a perl/Tk module launcher designed for handhelds
http://tk-appmaster.sf.net

Re:(solved) Perlscript als Dienst unter WIN - aber keine Bildschirmausgabe

am 25.11.2006 10:42:46 von Timothy Kesten

Hi Folks,

jetzt klappt es wie gewünscht.
Allerdings fragt mich bitte nicht, warum :-(

Script als Dienst registriert.
"Datenaustausch Dienst mit Desktop zugelassen".

Statt perl.exe wperl.exe benutzt - und es klappt.
Warum das nun gestern nicht geklappt hat ..... ???

Tut mir leid, dass ich Euch hier so belästigt habe.
Auf alle Fälle war der Tipp mit wperl.exe "Gold wert".

Danke und ein schönes Wochenende

Timothy