c# - 在 C# 中设置进程名称

标签 c# process

我编写了一个启动第 3 方程序的应用程序,该程序从我程序的电视 channel 下载媒体流。我使用的程序是 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);

但我想给这些进程命名,这样如果我的程序崩溃或必须重新启动,那么我可以检查当前进程的名称,看看是否有一个名为“BBC World - News at 7”的进程.类似的东西来识别哪个已经启动并且当前正在运行。是否可以?我找不到设置友好名称的方法。

最佳答案

扩展 Alexei 所说的 - 您可以创建一个 Dictionary 来跟踪您创建的进程 ID/描述性名称。也许你应该把它写到一个文件中以防你的程序崩溃——但是你需要一些特殊的启动处理来处理退出的进程。

在启动时,您希望读入文件,并检查当前进程以查看它们是否与您拥有的相匹配,并删除任何不再存在的进程(错误的进程 ID 或 exe 名称)。您可能希望在每次创建新进程并写入文件时都这样做。

关于c# - 在 C# 中设置进程名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18791784/

相关文章:

c# - C# 获取小数点后精确的精度数

C# 移动折线

c# - 如何关闭 Entity Framework Core 5 中的所有约定

java - 无法执行命令: no such file or directory/Java

c# - UWP CalendarView 调整大小后一年发生变化

c# - 是什么导致我的代码 : String was not recognized as a valid DateTime 出现此错误

Java process.waitFor() 不返回

process - 需要帮助将 time.sleep 与 python 3 中的多处理结合起来

c# - Windows XP 的 .NET 进程问题

c - 使用 C 中的 fork 扫描目录并同时处理特定文件