除了组合一个服务来监控进程启动之外,还有其他方法可以附加代码,或者对另一个特定进程的启动事件处理程序执行命令/进程吗?
我有两个相互冲突的应用程序。我希望服务持续运行,除非检测到特定进程启动,所以我想将代码附加到进程启动和进程退出事件。理想情况下,我希望有某种方式不需要编写自己的服务来处理此功能,但我不确定 powershell 或任务调度程序是否能够实现(或任何其他现有解决方案?)。
答案1
通过 powershell 和任务计划程序解决(用作powershell
要运行的进程,并且-windowstyle hidden PATH_TO_PS1
)
while(1)
{
$LBM = Get-Process "LittleBigMouse_Daemon" -ErrorAction SilentlyContinue
$DRG = Get-Process "FSD-Win64-Shipping" -ErrorAction SilentlyContinue
if($DRG)
{
if($LBM)
{
Start-Process -FilePath "C:\Program Files\LittleBigMouse\LittleBigMouse_Daemon.exe" -ArgumentList "--stop" #kill LBM
Stop-Process -Name "LittleBigMouse_Daemon" -Force
Write-Output "Killing LBM"
}
} else {
if(-not($LBM))
{
Start-Process -FilePath "C:\Program Files\LittleBigMouse\LittleBigMouse_Daemon.exe" -ArgumentList "--start" #Run LBM
Write-Output "Starting LBM"
}
}
Start-Sleep -Seconds 60
}