mirror of
https://github.com/Radarr/Radarr
synced 2024-12-26 01:38:24 +00:00
GetProcessesByName for mono
This commit is contained in:
parent
735cdfe5d6
commit
58e668a093
2 changed files with 11 additions and 16 deletions
|
@ -68,8 +68,6 @@ public void Should_be_able_to_start_process()
|
||||||
Subject.Exists(DummyApp.DUMMY_PROCCESS_NAME).Should().BeFalse();
|
Subject.Exists(DummyApp.DUMMY_PROCCESS_NAME).Should().BeFalse();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void Should_be_able_to_execute_process()
|
public void Should_be_able_to_execute_process()
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
using System;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
|
@ -30,6 +31,14 @@ public class ProcessProvider : IProcessProvider
|
||||||
public const string NzbDroneProcessName = "NzbDrone";
|
public const string NzbDroneProcessName = "NzbDrone";
|
||||||
public const string NzbDroneConsoleProcessName = "NzbDrone.Console";
|
public const string NzbDroneConsoleProcessName = "NzbDrone.Console";
|
||||||
|
|
||||||
|
private static List<Process> GetProcessesByName(string name)
|
||||||
|
{
|
||||||
|
var monoProcesses = Process.GetProcessesByName("mono")
|
||||||
|
.Where(process => process.Modules.Cast<ProcessModule>().Any(module => module.ModuleName.ToLower() == name + ".exe"));
|
||||||
|
return Process.GetProcessesByName(name)
|
||||||
|
.Union(monoProcesses).ToList();
|
||||||
|
}
|
||||||
|
|
||||||
public ProcessInfo GetCurrentProcess()
|
public ProcessInfo GetCurrentProcess()
|
||||||
{
|
{
|
||||||
return ConvertToProcessInfo(Process.GetCurrentProcess());
|
return ConvertToProcessInfo(Process.GetCurrentProcess());
|
||||||
|
@ -37,7 +46,7 @@ public ProcessInfo GetCurrentProcess()
|
||||||
|
|
||||||
public bool Exists(string processName)
|
public bool Exists(string processName)
|
||||||
{
|
{
|
||||||
return Process.GetProcessesByName(processName).Any();
|
return GetProcessesByName(processName).Any();
|
||||||
}
|
}
|
||||||
|
|
||||||
public ProcessPriorityClass GetCurrentProcessPriority()
|
public ProcessPriorityClass GetCurrentProcessPriority()
|
||||||
|
@ -63,18 +72,6 @@ public ProcessInfo GetProcessById(int id)
|
||||||
return processInfo;
|
return processInfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* public IEnumerable<ProcessInfo> GetProcessByName(string name)
|
|
||||||
{
|
|
||||||
if (OsInfo.IsMono)
|
|
||||||
{
|
|
||||||
var mono = Process.GetProcessesByName("mono");
|
|
||||||
|
|
||||||
return mono.Where(process => process.Modules.Cast<ProcessModule>().Any(module => module.ModuleName.ToLower() == name + ".exe"))
|
|
||||||
.Select(ConvertToProcessInfo);
|
|
||||||
}
|
|
||||||
|
|
||||||
return Process.GetProcessesByName(name).Select(ConvertToProcessInfo).Where(p => p != null);
|
|
||||||
}*/
|
|
||||||
|
|
||||||
public Process Start(string path)
|
public Process Start(string path)
|
||||||
{
|
{
|
||||||
|
@ -177,7 +174,7 @@ public void SetPriority(int processId, ProcessPriorityClass priority)
|
||||||
|
|
||||||
public void KillAll(string processName)
|
public void KillAll(string processName)
|
||||||
{
|
{
|
||||||
var processToKill = Process.GetProcessesByName(processName);
|
var processToKill = GetProcessesByName(processName);
|
||||||
|
|
||||||
foreach (var processInfo in processToKill)
|
foreach (var processInfo in processToKill)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue