Articles of 进程

Linux如何处理线程和进程调度

我想了解linux如何处理进程调度和线程调度。 我读过linux可以调度进程和线程。 我的问题是:Linux有一个线程调度程序和一个进程调度程序? 如果是,他们如何合作?

ms c ++获取当前进程的pid

我的应用程序的一部分是在Windows下的C ++。 我需要当前进程的进程ID。 有什么想法吗?

用超时和捕捉输出叉subprocess

说我有一个像下面的函数,我如何捕获Process.spawn调用的输出? 如果超过指定的超时时间,我也应该能够终止进程。 请注意,该function也必须是跨平台的(Windows / Linux)。 def execute_with_timeout!(command) begin pid = Process.spawn(command) # How do I capture output of this process? status = Timeout::timeout(5) { Process.wait(pid) } rescue Timeout::Error Process.kill('KILL', pid) end end 谢谢。

阻止用户停止进程

长话短说,我需要创build一个应用程序来监视计算机上的音量。 计算机的用户无论如何都不能停止应用程序。 我需要在计算机启动时启动我的应用程序,所以用户不能在没有运行应用程序的情况下重新启动它来进入他的会话。 截至目前,我不知道如何做到这一点,但一些研究,这不应该是一个问题。 我最担心的是如果他只是停止任务pipe理器的过程。 我想我无法避免编程? 有没有办法只修改会话的权利,以便它不能停止任务pipe理器中的进程? 或者我没有想过的其他解决scheme? 或者我无法做到这一点,我只需要相信我的用户不要停止任务pipe理器中的程序? 在此先感谢您的帮助。 🙂 PS:这将运行在俱乐部的音乐俱乐部,任何人都可以访问的学生俱乐部的计算机上运行。 有些房间人们在上面睡觉,所以我们不希望人们把音量放得太大。 而已。 没有恶意软件或任何东西。

不同的基于C#的服务之间的通信

有两种不同的服务之间的沟通方式吗? 我有一个已经运行的服务。 有没有办法创build第二个服务,可以附加到第一个服务,并发送和接收date? 我也想从控制台应用程序访问Windows服务并附加到它。 可能吗?

如何closuresPython上的registryredirect?

我的程序正在试图创build一个关键 HKLM\Software\Microsoft\Shared Tools\MSCONFIG\startupreg\test\ 而是在密钥上创build HKLM\Wow6432node\Software\Microsoft\Shared Tools\MSCONFIG\startupreg\test\ 并没有正常工作…为什么? 我该如何解决?

64位大型mallocs

malloc()会失败的原因是什么,特别是在64位? 我的具体问题是在64位系统上尝试malloc一个巨大的10GB块。 该机器有12GB的RAM和32GB的交换。 是的,malloc是极端的,但为什么会是一个问题呢? 这是在Windows XP64与英特尔和MSFT编译器。 malloc有时成功,有时不成功,约50%。 8GB malloc总是工作,20GB malloc总是失败。 如果一个malloc失败了,重复的请求将不会起作用,除非我退出这个进程并重新开始一个新的进程(然后成功的时候会有50%的成功)。 没有其他大应用程序正在运行。 即使在重新启动后也会立即发生。 我可以想象一个malloc在32位失败,如果你已经使用了32位(或31位)的可用地址空间,那么没有足够大的地址范围来分配你的请求。 我也可以想象,如果你用完了你的物理RAM 和你的硬盘交换空间,malloc会失败。 这不是我的情况。 但是为什么malloc可能会失败呢? 我想不出其他的原因。 我对通用malloc问题比我的具体例子更感兴趣,我可能会用内存映射文件replace它。 失败的malloc()只不过是一个比其他任何东西都更让人困惑的东西……那种渴望理解你的工具而不会被基础知识所惊讶的东西。

如何从32位进程读取64位registry项?

我一直使用来自HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography的关键MachineGuid的值来唯一标识主机,但是在64位计算机上运行的32位进程中,该值似乎丢失。 我想这是在Wow6432Node,它确实缺less的地方search。 根据这个,你应该能够通过添加一个标志来正确的键,但是下面的代码仍然不能完成这项工作。 我错过了什么? const KEY_WOW64_64KEY=$0100; var r:HKEY; s:string; i,l:integer; begin //use cryptography machineguid, keep a local copy of this in initialization? l:=40; if RegOpenKeyEx(HKEY_LOCAL_MACHINE,PChar('Software\Microsoft\Cryptography'), 0,KEY_QUERY_VALUE,r)=ERROR_SUCCESS then begin SetLength(s,l); if RegQueryValue(r,'MachineGuid',PChar(s),l)=ERROR_SUCCESS then begin SetLength(s,l); RegCloseKey(r); end else begin //try from-32-to-64 RegCloseKey(r); if RegOpenKeyEx(HKEY_LOCAL_MACHINE,PChar('Software\Microsoft\Cryptography'), 0,KEY_QUERY_VALUE or KEY_WOW64_64KEY,r)=ERROR_SUCCESS then begin l:=40; if RegQueryValue(r,'MachineGuid',PChar(s),l)=ERROR_SUCCESS then SetLength(s,l) else l:=0; […]

如何在Windows中运行应用程序?

如何获得Windows中当前正在运行的应用程序或前台进程的列表? 我的意思是有真正的窗口的应用程序。 不是后台服务/进程。 我想访问任务pipe理器打开时显示的同一个列表。 有没有办法? 任何types的解决scheme都可以接受 无论是一个命令或.NET代码或任何东西。 我只想以编程方式获取该列表。 这甚至可能吗? 我厌倦了任务列表,但它给了我所有的服务和stream程,甚至是后台服务。 有什么逻辑我可以实现?

Android Studio找不到Visual Studio模拟器

在使用Android Studio的Visual Studio Emulator for Android的博客post并启动模拟器之后,当系统提示select正在运行的模拟器时,列表中没有显示任何内容。 我正在运行Windows 10 x64。