我编写了一个应用程序,它启动一个 3rd 方程序,该程序从我的程序上的电视频道下载媒体流。我使用的程序是 rtmpdump.exe。它们作为独立进程运行,如下所示:
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = path + rtmpdump;
startInfo.Arguments = rtmpdump_argument;
startInfo.WorkingDirectory = path;
startInfo.WindowStyle = ProcessWindowStyle.Minimized;
Process p = Process.Start(startInfo);
Run Code Online (Sandbox Code Playgroud)
但是我想命名这些进程,所以如果我的程序崩溃或必须重新启动,那么我可以检查当前进程的名称,看看是否有一个名为“BBC World - News at 7”的进程。类似的东西来识别哪些已经启动并且当前正在运行。是否可以?我找不到设置友好名称的方法。
扩展 Alexei 所说的 - 您可以创建一个 Dictionary< int, string > 来跟踪您创建的进程 ID/描述性名称。也许您应该将其写入文件,以防程序崩溃 - 但您需要一些特殊的启动处理来处理退出的进程。
启动时,您需要读入该文件,并检查当前进程以查看它们是否与您拥有的进程匹配,并删除不再存在的任何进程(错误的进程 ID 或 exe 名称)。您可能希望每次创建新进程并写入文件时都执行此操作。