- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在编写一个保持事件状态的服务来查看进程是否已启动并正在运行。我有几个同名的进程在不同的工作目录中运行。
因此,我想使用 WorkingDirectory
属性作为唯一标识符。但是,当我查询所有这些属性时,值为空。
这是一些代码:
foreach (Process process in Process.GetProcesses())
if (!string.IsNullOrWhiteSpace(process.StartInfo.WorkingDirectory))
Console.WriteLine("Winning!!!");
不用说,我没有赢。
最佳答案
使用 Process.MainModule 和 ProcessModule.FileName 属性。
foreach (Process process in Process.GetProcesses())
{
string executableFilePath = process.MainModule.FileName;
string executableDirectory = Path.GetDirectoryName(executableFilePath);
}
请注意,进程可能随时退出。如果恰好在进程退出(或已经退出)时查询进程的 MainModule,则会抛出异常。
关于c# - ProcessStartInfo.WorkingDirectory 属性为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19998516/
我正在编写一个保持事件状态的服务来查看进程是否已启动并正在运行。我有几个同名的进程在不同的工作目录中运行。 因此,我想使用 WorkingDirectory属性作为唯一标识符。但是,当我查询所有这些属
WorkingDirectory 有问题,它没有正确设置所需的路径。我写了一个简单的 hello world 测试程序,a.out,来试用 WorkingDirectory。目录层次结构是这样的: /
在 C# (.NET) 中,在同一应用程序中运行的两个线程是否可以具有不同的“工作文件夹”?? 据我所知,答案是“否”。我认为 WORKING DIR 是由 Win32 中的 PROCESS 设置的。
如果在使用 ProcessStartInfo 时未定义 WorkingDirectory 的默认目录是什么? System.Diagnostics.ProcessStartInfo startInfo
我有一个用 VB.net 编写的实用程序,它作为计划任务运行。它在内部调用另一个可执行文件,并且必须访问映射的驱动器。显然,Windows 在用户未登录时访问映射驱动器的计划任务存在问题,即使身份验证
我正在尝试使用 System.Diagnostics.Process 命名空间在 C# 程序中调用 chrome.exe。 我的 chrome.exe 位于路径 C:\Program Files (x
我正在使用 Mac 的 Jar Bundler 为我的 Java 应用程序创建 (.app) 文件。我的 java 应用程序由一个 jar 文件和几个文件夹组成。我想将 jar 文件放入 .app 文
CruiseControl.NET 中的项目和 SVN workingDirectory 配置 block 有什么区别? 我设置了 Subversion,现在我在 CruiseControl.NET
我的应用程序在 citrix 服务器上运行,端口 80 已关闭。 在应用程序中,我第一次尝试读取设置或资源时,启动了两个 HTTP 请求,由于端口关闭,应用程序需要 30 秒才能继续。之后我可以在没有
我是一名优秀的程序员,十分优秀!