草庐IT

【Linux】进程信号

全部标签

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 - 通过 fopen 创建文件在 Linux 上运行良好但在 Windows 上运行不正常(MS VS 2010)

您好,我正在尝试在MicrosoftVisualStudioUltimate2010中执行由以下代码生成的.exe文件,但我没有看到正在创建的文件。这段代码在使用GCC的Linux中编译和执行时工作得非常好。重复一遍,我可以使用在Linux中创建的文件!!但在Windows中,.exe程序无法为用户在命令提示符下输入的名称创建文件。有人可以让我知道我在编译器方面出了什么问题吗?真诚的感谢//filename.cpp:Definestheentrypointfortheconsoleapplication.#include"stdafx.h"//Pleasecommentifcodeis

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

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

c++ - windows上的linux开发

我们主要在带有VI的headlesslinuxx64服务器上开发C++代码。我们提供了Windows桌面,我想知道处于类似情况的其他人是如何工作的?你只是使用windows远程进入linuxbox还是有办法在windows上开发。我想到的两个解决方案是:在Windows桌面上运行LinuxVM。Cygwin。(不确定)。还有其他的吗? 最佳答案 有一个VIM窗口的端口。作为一名日常用户,我可以说体验是无缝的,除了使用Windows路径分隔符。还有其他选项需要考虑:MSYS为您提供一组为Windowsnative编译的GNU工具,包括

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

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

windows - 无论 Windows/Linux 上的屏幕分辨率如何,都有机会访问原始像素

如果液晶显示器是1920*1200(原始分辨率),则屏幕分辨率设置为1024*768。我是否有机会创建一个大小为1920*1200的缓冲区,并且blt在Windows或Linux上是逐像素显示到屏幕上的,而无需先将其缩小到1024*768?谢谢。 最佳答案 没有。一些noveldisplays保留图像并逐像素更新它,但传统的计算机显示器不是这样工作的。计算机每秒将整个图像发送到显示器五十次(或更多次)。如果您的计算机配置为1024x768分辨率,那么这就是发送到显示器的像素数。如果显示器实际上有更多的像素,那么它将对图像进行信箱处理

mysql - 我如何通过Windows机器连接到Linux服务器中的mysql数据库

我在windows有一个MYSQL,需要连接linux服务器的MYSQL,但是我想知道有没有什么方法可以在linux服务器上连接MYSQL,而无需在windows中安装MYSQL。 最佳答案 Followthefollowinginstructions:1.OpenTerminalandtypein:sudoapt-getinstallputty2.ClickYonsubsequentmessagesthatappearandlettheinstallationcomplete.TousePutty,gotoMenu>Interne