草庐IT

Linux进程管理

全部标签

windows - 确定 Win32 函数的调用进程

有什么方法可以确定哪个进程调用了Win32函数。其实我需要hook几个函数,另外我还需要确定是哪个进程调用了这个函数。我使用MSDetours完成了Hook函数,例如FindNextFile()和winsock函数send()和receive()但问题出在后面部分即确定调用者进程。请帮助。 最佳答案 你的钩子(Hook)将在调用进程的上下文中运行,所以它可能只是调用GetCurrentProcessId或返回您需要了解的有关流程的信息的类似函数。 关于windows-确定Win32函数的

C 代码在 Windows 上比在 Linux 上慢

我正在开发一个项目,该项目将针对32位和64位Windows和Linux进行构建。该项目基于为文本文件加载字符串、对其进行处理并将结果写入SQLite3数据库。在Linux上,它达到每秒近400k个序列,由GCC编译,没有任何优化。然而在Windows上它卡在每秒100k个序列,在没有任何优化的情况下在VS2010上编译。我尝试在编译器中使用优化,但没有任何改变。这样对吗?Windows上的C代码运行速度较慢?编辑:我想我需要更清楚地说明一些要点。我在启用和禁用代码优化的情况下进行了测试。性能没有改变,可能是因为我的程序的瓶颈是浪费时间从HD读取数据。该程序利用了并行计算的优势。有一个

c++ - 进程范围上的 SetThreadLocale

我知道如果我想使用LCID为我的线程更改语言环境,我可以调用SetThreadLocale,但如何使用LCID在进程范围内设置它? 最佳答案 WinApi无法做到这一点。语言环境是按用户设置的,您不能设置进程的语言环境,您只能按线程设置。 关于c++-进程范围上的SetThreadLocale,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/16953261/

windows - 创建并立即运行一次 Windows 任务(以管理员身份)

我正在为持续集成服务器设置测试节点。它应执行应用程序的GUI测试。因此它获取生成的安装包并在运行其他交互式测试之前静默安装应用程序。但是有一个问题:UAC。由于我们不想禁用UAC来维持真实的测试环境,因此需要绕过它一次以设置应用程序。有很多方法可以做到这一点,一种流行的方法似乎是使用Windows任务调度程序。任务可以作为普通用户添加,并配置为以管理员身份运行,无需进一步确认。我可以为此使用schtasks/create命令,但它的参数不清楚。此外,/?帮助中的参数值在我的系统上似乎已翻译成德语,我相信(并希望)这是一个错误,这些值实际上应以英语指定。另外,我只想创建任务让它立即执行一

c++ - 从 Qt 4.x (Ubuntu Linux) 迁移到 Qt 5.1 (Windows 7)

我去年在UbuntuLinux平台上用Qt4.x中的QtCreator做了一个程序。现在我不使用linux,而是使用Windows7。我再次需要我去年制作的程序。我在Windows7平台上下载并安装了QtCreator。它随Qt5.1一起提供。我尝试重建它。我收到以下消息。我该怎么办?C1083:无法打开包含文件:'QtGui/QApplication':没有那个文件或目录C1083:无法打开包含文件:'QDialog':没有那个文件或目录谢谢 最佳答案 在Qt5中,QApplication不再是QtGui模块的一部分,它现在位于Q

linux - MMU 实现

简短的问题:页表存放在哪里?它是在MMU(完全硬件实现)还是在RAM(涉及操作系统)中?我试图弄清楚RAM访问是否涉及将线性地址映射到物理地址以防TLB未命中。我想答案是否定的,实现完全是硬件,但我不确定。我看到有人提到它既可以是硬件也可以是软件,但我对英特尔处理器的常见情况很感兴趣。 最佳答案 Intel架构中的TLB在硬件中处理。Thispaperfromintel引用TLB实现。 关于linux-MMU实现,我们在StackOverflow上找到一个类似的问题:

c - 如何在同一进程内共享共享对文件的读/写访问权限,但在外部禁止它?

我有几个对象持有同一个文件的句柄。但是,这些对象中的每一个都在读/写文件的不同部分。我需要阻止对该文件的外部访问,但仍然能够在我的进程中为其创建新的句柄。如果我在调用CreateFile时不共享读/写访问权限,我就无法从我的进程中获取文件的新句柄。如果我使用DuplicateHandle,所有句柄将共享相同的文件位置。我可以通过为根据需要到处寻找的文件制作代理来解决这个问题,但这会导致糟糕的设计。有什么办法可以实现这样的内部共享? 最佳答案 根据您的需要,您可以调用一次CreateFile()来创建/打开文件,然后让您的每个对象使用

linux - 有时在 windows 和 linux 中 mktime 的结果不同

这是函数time_ttime_from_string(constchar*timestr){if(!timestr)return0;structtmt1;memset(&t1,0,sizeof(t1));intnfields=sscanf(timestr,"%04d:%02d:%02d%02d:%02d:%02d",&t1.tm_year,&t1.tm_mon,&t1.tm_mday,&t1.tm_hour,&t1.tm_min,&t1.tm_sec);if(nfields!=6)return0;t1.tm_year-=1900;t1.tm_mon--;t1.tm_isdst=-1;/

java - 如何在没有管理权限的情况下更改类路径

在我当前的笔记本电脑上,我没有管理权限,并且试图找到一种使用emacs或cygwinshell将一些jar添加到我的类路径的方法。我相信我可以做类似的事情javac-cp"./thing.jar"test.java但是有没有办法真正改变我的类路径?谢谢。 最佳答案 如果您想永久更改CLASSPATH环境变量,您可以使用setx 关于java-如何在没有管理权限的情况下更改类路径,我们在StackOverflow上找到一个类似的问题: https://stack

c++ - 用于检测启动和终止的应用程序/进程的 WIN32 API

这个问题在这里已经有了答案:Howtodetectwin32processcreation/terminationinc++(9个回答)关闭9年前。我正在寻找一个WIN32API来检测应用程序在我的应用程序中的启动和终止。我正在寻找开发一个dockBar/TaskBar,我需要为它获取启动和终止的应用程序的句柄。