using Microsoft.Extensions.DependencyInjection; using Remotely.Desktop.Core; using Remotely.Desktop.Core.Interfaces; using Remotely.Desktop.Core.Services; using Remotely.Shared.Utilities; using System; using System.Diagnostics; using System.Threading.Tasks; namespace Remotely.Desktop.Linux.Services { public class ShutdownServiceLinux : IShutdownService { public async Task Shutdown() { Logger.Debug($"Exiting process ID {Environment.ProcessId}."); var casterSocket = ServiceContainer.Instance.GetRequiredService(); await casterSocket.DisconnectAllViewers(); Environment.Exit(0); } } }