监听某windows程序是否还在运行

94 阅读1分钟

使用语言:C#

环境:.net core 2.0 (当前使用) (貌似支持所有环境,我就不多说了)

监听程序是否运行

using System;
using System.Diagnostics;
using System.Linq;
using System.Threading;

namespace JianTing
{
    class Program
    {
        static void Main(string[] args)
        {
            //Jt在这里是程序的名字
            YunXing();
            for (int i = 0; true; i++)
            {
                Thread.Sleep(200);
                if (System.Diagnostics.Process.GetProcessesByName("Jt").ToList().Count > 0)
                {
                    Console.WriteLine("存在");
                }
                else
                {
                    Console.WriteLine("不存在");
                }

            }

        }
        /// <summary>
        /// 开启一个控制台程序并输出
        /// </summary>
        public static void YunXing()
        {
            string result;
            Process p = new Process();
            p.StartInfo.FileName = @"程序的路径\\Jt.exe";
            p.StartInfo.UseShellExecute = false;
            p.StartInfo.RedirectStandardOutput = true;
            p.StartInfo.RedirectStandardInput = true;
            p.Start();
            //p.StandardInput.WriteLine("");
            p.StandardInput.Flush();
            result = p.StandardOutput.ReadLine();
            Console.WriteLine(result);
        }
    }
}

\

监听程序