我想创建一个Windows任务计划程序,它将检查rubyw.exe是否在窗口进程中运行。如果它没有运行,则Scheduler将运行C:/test.rb文件,如果它正在运行,则不执行任何操作。
我该怎么办?在ruby和php中
答案 0 :(得分:0)
require 'win32ole'
wmi = WIN32OLE.connect("winmgmts://")
processes = wmi.ExecQuery("select * from win32_process")
ar = processes.each.with_object([]) {|i,a| a << i.name }
# => ["System Idle Process", "System", "smss.exe", "csrss.exe",...]
if ar.include? "rubyw.exe"
#run a C:/test.rb file
else
# do nothing
end