草庐IT

初识进程

全部标签

asp.net-mvc - 进程标识设置为用户的 IIS 7.5 有错误的 USERPROFILE

首先,这是我关于类似主题的第三个问题..我仍然没有答案,也许只是接近它(参见first,second)。我的网络应用程序(IIS7.5下的ASP.NETMVC3)运行git来访问一些github存储库。在我将工作站升级到WindowsSP1后,它停止工作了。原因是git一启动,其实是运行ssh.exe来和github通信的。ssh.exe似乎挂起,因此所有应用程序都挂起。该应用程序使用的应用程序池使用与我相同的进程标识。但是使用ProcessHacker我可以看到下图:因为USERPROFILE指向/system32/config/systemprofilessh.exe期望有.ssh

windows - 从批处理文件中,如何在调用 taskkill.exe 后等待进程退出?

我想编写一个批处理文件来更新正在运行的进程(一个常规应用程序)正在使用的DLL。为此,计划是停止进程,将DLL复制到所需位置,然后重新启动进程。我知道我可以尝试使用taskkill终止进程。在我拍摄它之后,如何确保该过程已经倒下并死亡? 最佳答案 这是我用过的。它是批处理文件中的一个子程序。settasklist=%windir%\System32\tasklist.exesettaskkill=%windir%\System32\taskkill.exe---------------------------------------

windows - 如何确定进程是否处于死锁状态或正在等待 I/O

面试官问:我们如何才能发现应用程序是否由于死锁或由于等待某些IO而变得无响应?任何人都可以评论执行此操作的任何一般方法,或者各种方法是否提供了一些特定的方法?我相信这是与操作系统相关的事情,所以我不会在这里标记任何语言。编辑:我也想了解执行此操作的技术和API。这样我就可以根据需要运行监控程序。 最佳答案 在Linux上我会使用sar-u1。如果%iowait列很高,那么应用程序可能正在等待IO 关于windows-如何确定进程是否处于死锁状态或正在等待I/O,我们在StackOverf

windows - 一个进程如何访问外部 TIB?

是否有可能(以及如何)访问某个其他进程的线程的线程信息block? 最佳答案 这是可能的。第一步是使用NtQueryInformationThread获取线程信息block的地址。ThreadInformationClass设置为ThreadBasicInformation的函数.THREAD_BASIC_INFORMATION结构包含指向线程的TEB的指针。然后你可以使用ReadProcessMemory和WriteProcessMemory以便阅读或修改TEB的内容。 关于windo

c# - 设置进程调度程序的框架

所以我们现在在代码中设置了一堆不同的进程。我们围绕这个设置了一个框架,其中包含几个类,这些类控制这些代码片段何时启动、它们登录到哪里、它们依赖于哪个其他进程等。我们目前的工作方式是,所有这些进程都继承了一个包含参数、Validate()方法和一个Start()方法。我想重新做这个。现在代码很难处理。我认为其中的每个进程本身都设置得很好,但我想知道是否有人使用任何框架来设置基本上只是一个调度程序,它在一天中的不同时间启动某些进程。每个进程都应该能够依赖另一个进程,拥有自己的一组参数、启动时间、频率(每日、临时等),以及记录其消息和任何异常的能力到用户界面。我们要保持相互依赖的原因是,如果

windows - Windows 中的进程间同步屏障

我试图在Windows中的不同进程之间建立一个屏障。它们本质上是同一进程的两个副本(将它们作为两个单独的线程而不是进程运行不是一种选择)。这个想法是在程序的不同阶段设置障碍,以确保两个过程同时开始每个阶段。在Windows中实现此功能的最有效方法是什么? 最佳答案 使用命名事件(参见CreateEvent和WaitForSingleObjectAPI函数)。每个屏障需要两个事件——每个事件都在应用程序的另一个实例中创建。然后两个实例等待对方的事件。当然,这些事件以后可以重新用于另一个障碍。但是存在一种复杂性——由于事件名称是全局唯一

c# - 提升进程时,如何获取非提升 session 的 Windows 身份验证 ID

我需要获取由GetTokenInformation返回的AuthenticationID和TokenStatistics类,用于登录该站的用户,无论我是否被提升。让我给你一些更多的信息。假设我这样做:varResult=GetTokenInformation(WindowsIdentity.GetCurrent().Token,TOKEN_INFORMATION_CLASS.TokenStatistics,TokenInformation,TokenInfLength,outTokenInfLength);这将使我能够毫无问题地从TokenInformation结构中获取Authent

c# - 如何从桌面应用程序知道某个进程是否在 Windows CE 设备上运行

我想通过桌面应用程序抛出RAPI知道某个进程是否正在WindowsCe设备上运行 最佳答案 RAPi本身不具有任何流程管理/工具帮助功能,因此开箱即用,您无法执行此操作。我的建议是创建一个自定义RAPIDLL(examplehere-不幸的是,这必须在C中完成,但它非常简单)它要么只是通过工具帮助检查你的进程,要么是一个更通用的版本,允许你枚举运行进程,然后使用CeRapiInvoke调用该DLL。共享源OpenNETCFDesktopCommunication库有这个函数的包装器。 关

C# 进程无法访问该文件,因为它正被另一个进程使用(文件对话框)

我有一个正在用日志信息更新的富文本框。有一个按钮可以将日志输出保存到文件中。当我使用下面的代码尝试将输出保存到文件时,我收到“该进程无法访问该文件,因为它正被另一个进程使用”的异常。我不确定为什么会收到此异常。它发生在我在对话框中创建的新文件上。它发生在我尝试将信息保存到的任何文件上。privatevoidsaveLog_Click(objectsender,EventArgse){OnFileDialogOpen(this,newEventArgs());//DisplaysaSaveFileDialogsotheusercansavetheImage//assignedtoButt

windows - Windows 64 位处理器上的最大进程大小是多少

在Windows机器上,一个进程在32位处理器上的最大大小是多少?在任何情况下,进程大小都可以超过4GB吗? 最佳答案 假设您在谈论虚拟内存大小,“进程大小”没有任何意义。32位进程在32位操作系统上最多可以占用2GB的地址空间。当一个32位进程使用/3GB启动选项启动并与/LARGEADDRESSAWARE链接器选项链接时,它可以在32位操作系统上占用多达3GB的地址空间。现在很少有此启动选项可用,尤其是视频适配器占用太多物理地址空间,无法为操作系统和文件系统缓存留出足够的空间。只要使用/LARGEADDRESSAWARE链接器选