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

Mitglied: Nobody007

Nobody007 (Level 1) - Jetzt verbinden

13.10.2006, aktualisiert 07.11.2006, 9668 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
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 ...

Windows Server
Exchange Dienste starten
gelöst Frage von butch12Windows Server4 Kommentare

Hallo, seit gestern hat ein Dienst auf einem DC Server Blue Screen verursacht, das Problem für den Bluescreen konnte ...

Windows 7
Programm ohne Adminrechte starten
Frage von w.doplerWindows 716 Kommentare

Hallo zusammen, es gibt ein Programm, dass sich nur mit Adminrechten starten lässt. Gibt es eine Möglichkeit, dies zu ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Erfahrungsbericht von hardykopff vor 1 TagWindows 105 Kommentare

Da steht man ziemlich dumm da, wenn der PC sich wegen fehlender USB Tastatur und Maus nicht bedienen lässt. ...

Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 1 TagAdministrator.de Feedback18 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 2 TagenHumor (lol)4 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 2 TagenGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Heiß diskutierte Inhalte
Windows Netzwerk
WSUS4 und Windows 10 Updates automatisch installieren
Frage von sammy65Windows Netzwerk15 Kommentare

Hallo miteinander, ich habe mit einen neuen WSUS Server aufgesetzt Server 2016 darauf einen aktuellen WSUS. Grund, wir stellen ...

Speicherkarten
Vergessliche USB-Sticks?
Frage von hanheikSpeicherkarten14 Kommentare

Ich habe in den letzten Tagen 500 USB-Sticks mit Bilddateien bespielt. Obwohl ich die Dateien mit größter Sorgfalt kopiert ...

Windows Server
NTFS Berechtigungen Ordnerstruktur
Frage von hukahu23489Windows Server11 Kommentare

Hallo, ich bin seit kurzem in einer neuen IT-Abteilung und bin über das Berechtigungskonzept des Unternehmens sehr schockiert. Ich ...

Hyper-V
Hyper-V mit altem XEON-Server. Was ist falsch?
Frage von LollipopHyper-V11 Kommentare

Hallo Bin etwas frustriert. Kleinbetrieb, ca. 15 PC's, 2 Stk. Server mit einigen virtuellen PC's für Fernwartung, VaultServer für ...