Python Script automatisch starten

Ich möchte, dass eine .exe permanent läuft, also immer dann gestartet wird, wenn sie nicht läuft.
Sie soll allerdings nicht 2 mal parallel laufen.

Welche Sprache wäre dafür am besten geeignet ( am besten Visual Basic, da es wie die exe auf jedem Win-System läuft.
Kann mir jemand ein Beipiel geben?

Mfg AnonLuke
 
Das kannst du im Grunde in jeder Sprache machen die Systembindings für Windows hat.
Was mich stutzig macht ist, das du in der Überschrift von Python redest und weiter unten von Exe und VB.

Hier mal ein Thread für Python:
python - List running processes on 64-bit Windows - Stack Overflow
Hier mal was für C# aber da es .Net ist sollte es auch unter VB laufen.
Finding and Listing Processes in C# - CodeProject

und hier mal ein Snippet in C.
Ist zwar schon etwas älter und noch für 32bit und mit sicherheit nicht mein schönster Code aber er erledigt das was du brauchst.

PHP:
#include<windows.h>
#include<tlhelp32.h>
#include<iostream>
#include<string>
#include"gettingpid.h"

DWORD getPID(std::string name){
        HANDLE snapshot;
        PROCESSENTRY32 entry;
        DWORD returnvalue = 0;
        snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);

        if(snapshot ==  INVALID_HANDLE_VALUE)
                return returnvalue;

        entry.dwSize = sizeof(entry);

        if(Process32First(snapshot,&entry)){
                do{
                        if(strcmp(entry.szExeFile,name.c_str())==0){
                                returnvalue =  entry.th32ProcessID;
                                break;
                        }
                }while(Process32Next(snapshot,&entry));
        }

        CloseHandle(snapshot);
        return returnvalue;
}

Und alles was du dann noch brauchst ist

if <condition1>:
start process
done;

Gruß

Fluffy
 
Unter Windows richtest du ein check-Skript unter "Geplante Tasks" ein.. das ist (irgendwie zumindest) sowas wie der Unix cron Daemon.

Unter der Windows 7 kannst du dann in der Konsole einfach "tasklist" aufführen und so alle Prozesse auslesen. Hier hat einer eine Batch Datei gebaut, für das was du suchst:
Mit Batch uberprufen ob ein Prozess lauft (Update) | IT | IMA - Informationen Mal Anders

Wenn du die Powershell hast, kannste Prozesse mit "Get-Process" abfragen.
Dann eben in was if-mäßiges einbasteln und feddich.


Gutes Prinzip: Wenn irgendwie möglich, bleib bei den Boardmitteln ;)
 
Zurück
Oben