Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Programm bei Aufruf als Dienst starten

Frage Microsoft Windows Tools

Mitglied: Nobody007

Nobody007 (Level 1) - Jetzt verbinden

13.10.2006, aktualisiert 07.11.2006, 9635 Aufrufe, 4 Kommentare

Hallo,

Ich versuche mit einem Renderprogramm im Netzwerk die Rendergeschwindigkeit drastisch zu verbessern. Für diesen Vorgang wurde bei den einzelnen Usern der dafür nötige Dienst installiert. Wenn nun der Auftrag von einem zentralen Server aus gestartet wird. Dann wird bei jedem User über den im Hintergrund laufenden Dienst das Programm zum Rendern aufgerufen. Dieser Start erfolgt in einem normalen Fenster mit normaler Priorität - Sachen gibt´s ;).
Da dieser Start öfters pro Tag abläuft ist er natürlich störend. Noch dazu werden die Computer für das normale Arbeiten recht stark beeinträchtigt.

Mein Vorhaben ist, dass dieses Programm im Hintergrund (als Dienst) mit niedriger Priorität gestartet wird. Das es Tools gibt mit denen ein Programm als Dienst gestartet werden kann ist mir bekannt. Bei all dieses Programmen kann dieser Dienst jedoch nur manuel oder automatisch gestartet werden.
Wenn ich dennoch dieses Programm als Dienst starte und der Auftrag vom Server erfolgt. Dann wird trotzdem eine zweite Instanz dieses Programmes (als Fenster im Vordergrund) gestartet.

Was ich gerne hätte ist, dass die *.exe Datei erst bei Abruf vom Server (von dem Netzwerkprogramm aus) als Dienst gestartet wird. Ich kann aber keine Batch Datei (mit den nötigen Befehlen) diesem Programm vorsetzen. Da das Serverprogramm direkten Zugriff auf die .exe benötigt. Es müßte also schon im System definiert sein, dass die .exe Datei immer bei Aufruf über ein anderes Programm als Dienst mit niedriger Priorität gestartet wird.

Für Lösungsvorschläge wäre ich sehr dankbar!

mfg
FPO
Mitglied: AndreasHoster
13.10.2006 um 18:05 Uhr
Lösung: Fast Keine

Unter Umständen gibt es noch eine Möglichkeit.
Batch scheidet zwar aus, weil der Dienst wohl auf den Namen der Exe programmiert ist.
Du könntest die EXE aber umbenennen und selber eine EXE mit diesem Namen erzeugen. Die wird dann gestartet und müsste dann halt das echte Programm aufrufen.
Du müsstest aber unter Umständen beim Aufruf Parameter entgegennehmen und weitergeben und falls OLE oder NetDDE ins Spiel kommt müsste man das auch irgendwie umleiten.

Alternativ den Hersteller fragen.

Jedenfalls kannst Du den Aufruf einer Exe und den Start derselben nicht so einfach abfangen und in einen Dienststart umwandeln.
Bitte warten ..
Mitglied: Nobody007
17.10.2006 um 16:27 Uhr
Danke für den Tip! Hab jetzt mal versucht das ganze mit der EXE abzufangen. Läuft leider auch schief . Das Programm dürfte doch etwas komplexer Arbeiten als ich anfangs dachte.

Eine andere Idee geht mir gerade durch den Kopf. Mit einem Dienst könnte ich die laufenden Prozesse ständig überwachen, und falls die EXE auftaucht wird diesem Prozess der Wert übertragen für niedrige Priorität und in den Hintergrund setzen (auch nicht in der Taskleiste sichtbar). ABER...ich weiß noch nicht wie ich das ganze in die Praxis umsetze. Gibt´s da vielleicht schon was fertiges? (Bin mir ziemlich sicher, aber ich hab noch nix gefunden das sich so adaptieren läßt)

Aja - das ganze sollte möglichst Resourcen schonend ablaufen ;) (der PC sollte ja nicht gleich in die Knie gehen wenn ein Dienst ständig die Prozesse überwacht)
Bitte warten ..
Mitglied: AndreasHoster
17.10.2006 um 17:40 Uhr
Na ja, mit meinem vielgeliebten Universalwerkzeug WMI ( http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnanch ... )kann man schon eine Prozessüberwachung hinbasteln, die ist aber nicht wirklich ressourcenschonend und vermutlich auch nicht schnell genug um ein Aufblitzen des Fensters auf dem Bildschirm zu verhindern.
Kleines WindowsScriptingHost Beispiel:

Set wmi = GetObject("winmgmts:{(Security)}")
Set fso = CreateObject("Scripting.FileSystemObject")
Set sink = WScript.CreateObject("WbemScripting.SWbemSink","Prozess_")
wql = "select * from __instancecreationevent within 1 where targetinstance isa 'Win32_Process'"
wmi.ExecNotificationQueryAsync sink, wql
REM Bringt eine Messagebox und wenn ich die bestätige, dann beendet sich das Programm
MsgBox "Warte auf Events zur Ausgabe", vbSystemModal
Wscript.quit

Sub Prozess_OnObjectReady(objObject, objAsyncContext)

Set obj = objObject.TargetInstance
If LCase(obj.name)="Name der EXE" then
REM Priorität erniedrigen auf niedriger als normal
obj.SetPriority(0x00004000)
REM Leider keine Ahnung, wie man ein Programm in den Hintergrund kriegt mit WMI
REM Oder gleich beenden?
REM obj.terminate
End If

End Sub
Bitte warten ..
Mitglied: Nobody007
07.11.2006 um 12:47 Uhr
Danke, für die prompten Antworten! Hab noch ein paar andere Projekte beenden müssen, aber jetzt habe ich wieder Zeit für dieses.

Also das mit WMI zu schreiben ist für mich Neuland. Ich hab jedoch ein paar kleine Tools gefunden die das Problem schon fast lösen - mit der Betonung auf fast!

Es gibt 2 Tools die mir bei der Arbeit behilflich sind:
1. - ProcView (Command line Tool -> PV.exe)
2. - Cmdow.exe (Fenster in Win Managen)

mit PV kann ich die Prozesse auslesen (und zwar in einer endlos Schleife alle 2 Sekunden) und gleichzeitig die priorität einstellen :praktisch:
mit CMDOW kann ich das gewünschte Fenster in den Hintergrund setzen
...aber! CMDOW benötigt für das setzen in den Hintergrund eine sogenannte "Caption" vom Prozess. Jedoch ändert sich diese "Caption" (unten rot markiert) natürlich mit jedem neuen Auftrag, weil darin der Dateiname enthalten ist.

Wie kann ich also diese "Caption" auslesen und für CMDOW "schmackhaft machen? Weil im Moment mußte ich mich auf diesen Dateinamen fixieren.

@echo off
cmdow @ /hid
:start
PV.exe -f -r0 -d2000 3ds* >nul
if ERRORLEVEL 1 goto Process_NotFound
:Process_Found
cmdow "test01.max - 3ds max 5" /hid
PV.exe -f -pi 3ds*
PV.exe -f -x 3ds*
goto start

Besten Dank im Voraus für die tolle Hilfe in diesem Forum!
Bitte warten ..
Ähnliche Inhalte
Windows Tools
Exe als Dienst starten.
gelöst Frage von uLmiWindows Tools9 Kommentare

Hallo Leute, ich habe hier eine Banksoftware welche ich von einem Server auf den anderen übertragen habe Gewisse erforderliche ...

Windows Server
Dienste als Domänen-Benutzer starten
gelöst Frage von KMP1988Windows Server6 Kommentare

Servus, kann ich einzelnen Domänen-User Rechte vergeben, dass sie bestimmte Dienste neu starten dürfen? der Kunde hat einen Server ...

Server
Kann httpd Dienst nicht starten.
gelöst Frage von Mr.FSB311Server13 Kommentare

Ich habe bei 1blu einen vServer mit dem OS:centos-6-x86_64 Der httpd Dienst wird mir im Virtuzzo Panel als gestoppt ...

Windows 7
Dienste lassen sich nicht starten
Frage von gamerffWindows 74 Kommentare

Hallo Forum, ich hab das große Problem an meinem PC das sich die Netzwerk Dienste nicht starten lassen. Ich ...

Neue Wissensbeiträge
Apple

IOS 11.2.1 stopft HomeKit-Remote-Lücke

Tipp von BassFishFox vor 6 StundenApple

Das Update für iPhone, iPad und Apple TV soll die Fernsteuerung von Smart-Home-Geräten wieder in vollem Umfang ermöglichen. Apple ...

Windows 10

Windows 10 v1709 EN murkst bei den Regionseinstellungen

Tipp von DerWoWusste vor 11 StundenWindows 10

Dieser kurze Tipp richtet sich an den kleinen Personenkreis, der Win10 v1709 EN-US frisch installiert und dabei die englische ...

Webbrowser

Kein Ton bei Firefox Quantum über RDP

Tipp von Moddry vor 11 StundenWebbrowser

Hallo Kollegen! Hatte das Problem, dass der neue Firefox bei mir auf der Kiste keinen Ton hat, wenn ich ...

Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 23 StundenInternet4 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registrierung von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Von rj11 auf rj45
Frage von jensgebkenLAN, WAN, Wireless19 Kommentare

Hallo Gemeinschaft, könnt ihr mir vielleicht bei der anfertigung eines Kabels helfen - habe ein rj 11 stecker und ...

Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

LAN, WAN, Wireless
Häufig Probleme beim Anmelden in WLAN
Frage von mabue88LAN, WAN, Wireless15 Kommentare

Hallo zusammen, in einem Netzwerk gibt es relativ häufig (1-2 mal pro Woche) Probleme mit der WLAN-Verbindung. Zunächst mal ...

Windows Server
Remotesteuerung der Sitzung (Kennung XX) fehlgeschlagen
gelöst Frage von Stefan91Windows Server14 Kommentare

Hallo Zusammen, seit kurzem bekomme ich oben genannte Fehlermeldung, wenn ich versuche eine Remotesitzung über den Taskmanager fernzusteuern (Rechtsklick ...