2016-05-05 4 views
1

Gibt es eine Möglichkeit, herauszufinden, ob ein Programm auf Ihrem Desktop über ein Ruby-Programm ausgeführt wird? Wäre es so einfach wie mit einem Systemanruf?Überprüfen, ob ein Programm ausgeführt wird

Beispiel:

def find_process 
    process = 'Windows' 
    if process != #some system call to check the process 
    #execute process 
    else 
    puts "Process not found" 
    end 
end 

Es ist wahrscheinlich erwähnenswert, dass ich OS Windows 7.

+0

Wird das Programm als Windows-Dienst ausgeführt? – orde

+0

@Orde nur irgendeine Art von Programm, wie Microsoft Word zum Beispiel – 13aal

Antwort

2

Hier ist ein konstruiertes Beispiel leite die tasklist verwendet. Es ordnet das Ergebnis des Backtick-Systemaufrufs einer Variablen status zu. Wenn diese Variable leer ist, wird das angegebene Programm nicht ausgeführt.

def find_process 
    status = `tasklist | find "notepad.exe"` 
    if status.empty? 
    puts "Process is not running" 
    else 
    puts "Process is running" 
    end 
end 

find_process 
+0

So ist es so einfach wie einen Systemaufruf .. Danke. – 13aal