skidini

🧩 Syntax:
using System;

using System.Diagnostics;

using System.Linq;

using System.Threading;

namespace ProcessManager

{

    class Program

    {

        static void Main(string[] args)

        {

            // Nome do processo que você quer monitorar

            string processoNome = "chrome"; // Altere aqui para o nome do processo desejado

            // Inicia o monitoramento do processo

            Thread monitoramentoThread = new Thread(() => MonitorarProcesso(processoNome));

            monitoramentoThread.Start();

            // Exemplo de simulação de tarefa da aplicação principal

            Console.WriteLine("Aplicação Principal está em execução...");

            Console.WriteLine("Pressione Enter para encerrar.");

            Console.ReadLine();

            // A aplicação foi encerrada, então o processo monitorado também será encerrado

            EncerraProcesso(processoNome);

        }

        // Função para monitorar se o processo está em execução

        static void MonitorarProcesso(string nomeProcesso)

        {

            while (true)

            {

                // Obtém todos os processos com o nome fornecido

                var processos = Process.GetProcessesByName(nomeProcesso);

                // Verifica se o processo está em execução

                if (processos.Length == 0)

                {

                    Console.WriteLine($"Processo {nomeProcesso} não está mais em execução.");

                    break;

                }

                // Aguarda 1 segundo antes de verificar novamente

                Thread.Sleep(1000);

            }

        }

        // Função para encerrar o processo monitorado

        static void EncerraProcesso(string nomeProcesso)

        {

            try

            {

                // Obtém todos os processos com o nome fornecido

                var processos = Process.GetProcessesByName(nomeProcesso);

                

                // Encerra todos os processos encontrados

                foreach (var processo in processos)

                {

                    Console.WriteLine($"Encerrando o processo: {processo.ProcessName}");

                    processo.Kill();

                }

            }

            catch (Exception ex)

            {

                Console.WriteLine($"Erro ao tentar encerrar o processo: {ex.Message}");

            }

        }

    }

}
Guest

Guest