问题标签 [monitor]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
538 浏览

winapi - 监控windows进程

如果特定进程开始,我想收到通知。例如,如果 xyz.exe 在后台启动,我需要一个消息框来说明相同的内容。

我对 VC++ 中的 Windows Hooks 有点熟悉。有人可以指出一些类似的链接或方法来实现我的目标吗?谢谢。

0 投票
17 回答
57959 浏览

monitor - 纵向使用宽屏显示器对编码更有效吗?

在不久的将来,我的开发设置将升级,部分交易将是双显示器(耶!)

至少其中一台显示器(可能两者兼有)将是宽屏的。

我听说开发人员在纵向模式下使用第二台显示器,尤其是宽屏显示器。它允许在屏幕上显示更多行(尽管更窄)并且运行起来有点像一页长代码。

有没有人使用它并认为它更有效?

0 投票
3 回答
1309 浏览

c# - 监视器类的 C# 多线程问题 - 可能的生命锁?

我有一些代码,我无法正确理解。问题是程序是多线程的,其中有一些代码应该同步,所以我写了这个:

我遇到的问题是,在某个时间点,所有线程似乎都在睡觉——有人能说出原因吗?该程序一直在无休止地运行,几乎没有消耗cpu,但没有完成任何工作——在跟踪程序时,我发现在某些时候没有线程处于活动状态,但其中很多都在休眠。我知道大部分错误(如果是开发人员 - 总是)位于显示器前面 0.5m 处 - 但我自己无法弄清楚......也许在几分钟内;)

有人可以向我解释一下 - 在此先感谢。

0 投票
1 回答
1563 浏览

synchronization - How to synchronize threads when polling for state changes with boost

In my application I want to be informed by events, that another application has been started or stopped. I have an existing API to the running application which cannot be changed to accomodate notification which would be the obvious solution.

What I have is a function call in the API (isRunning), so I decided to make a polling thread which polls the state through the API and informs my app.

My problem is now, the API call in the polling thread uses an object which is also used in my own application's main thread and I'd like to know how to be sure that I make it right :).

My idea would be to wrap each call to the API object (through an adapter e.g., see the second code block) with a mutex lock, so I'm sure the API is not called by my threads more than once.

Is this the right approach?

I'm using boost for threading/syncing (see code).

This is the polling thread:

These are some API calls from the main thread:

0 投票
1 回答
500 浏览

ruby - Ruby 监视器分段错误

我按照http://www.ruby-doc.org/stdlib/libdoc/monitor/rdoc/index.html中的示例对代码进行了一些修改:

我让程序运行。大约 5 分钟后,它会抛出“分段错误”。与死锁有关的东西?

/杰克

0 投票
3 回答
487 浏览

c# - 更改独占锁定对象时的奇怪行为 - Monitor.Enter(x)

我想看看如果你改变一个被 Monitor.Enter() 锁定的对象的引用会发生什么。正如预期的那样,抛出了 SynchronizationLockException。但是我很惊讶地看到在抛出异常之前有几个线程通过了监视器。

这是下面的代码正在做的事情。

  1. 创建并启动 100 个线程
  2. 让所有线程等待,直到设置 ManualResetEvent。
  3. 设置 ManualResetEvent - 有点像在 Indy 比赛中挥舞绿旗。
  4. 在 x 上设置排他锁 (Monitor.Enter(x))
  5. 更改 x 的参考。

在这一点上,我预计会引发某种异常,但直到 Monitor.Exit(x) 才会发生这种情况。真正奇怪的是,在引发异常之前,似乎有 10 - 20 个线程能够通过锁。这是怎么发生的?似乎不应该。当然,更改独占锁定对象的引用是不行的。我永远不会在真正的代码中这样做,但我仍然惊讶地看到其他线程通过监视器。你的意见?

控制台输出,看起来有些线程通过了监视器??

0 投票
1 回答
2228 浏览

winapi - 如何知道windows上的子进程状态和资源使用情况?

我想编写一个程序,它将启动一个子进程。子进程可能是 windows 模式或控制台模式程序。

我想监控子进程状态和资源使用情况。例如,我想知道子进程仍在运行或终止。如果它终止了,我想知道原因(是正常终止还是因为崩溃?)。

在子进程运行和/或终止期间,我想知道它的资源使用情况,尤其是 CPU 时间(用户时间、系统)和内存使用情况(虚拟大小和/或 rss)。如果数字不是很准确也没关系。

在 Unix 术语中,我想 fork、exec、waitpid 和 getrusage。而fork+setrusage+exec可以限制child的资源使用。但我不知道如何在 Windows 平台上执行这些操作。

请指出 Windows API 名称。我可以自己研究其余的。

最好不要使用 Windows API 以外的库。最好它不是作为调试器工作并附加到子进程的父进程。只是不喜欢,但仍然可以接受。

0 投票
2 回答
3608 浏览

size - 如何通过监控堆栈大小来防止堆栈溢出?

许多 C/C++/Fortran 和其他程序员会遇到“堆栈溢出”错误。我的问题是,是否有工具、程序或简单的代码片段允许我们在程序运行时监控或检查堆栈的大小?这可能有助于查明堆栈在何处累积并最终导致溢出。

0 投票
6 回答
8307 浏览

c# - C#:等待变量变为非空

.Net 奇怪的锁定语义再次困扰着我。

我正在启动一个线程,子线程依次启动一个表单。父线程应该等到表单创建完成。

我的第一次尝试是使用 Monitor 来观察 Form 变量:

...这会引发异常。Monitor.Enter() 失败,因为 Form == null。

我可以很容易地创建一个虚拟整数或其他东西(我实际上认为我会canabalize FormThread 变量),但我想知道是否有更优雅的解决方案。

0 投票
5 回答
2334 浏览

monitor - 监控应用程序、正常运行时间、日志文件等

您如何监控生产中的应用程序?日志,正常运行时间等...(我更喜欢外部应用程序,免费和开源)

例如,我想

  1. 如果应用程序出现故障,能够发出警报
  2. 如果 CPU 使用率 > 超过设定的阈值,则发送警报
  3. 如果内存使用量 > 超过设定的阈值,则发送警报
  4. 发送错误消息警报
  5. 必须是可配置的,如果在 Y 时间段内发生 X 次,可能会发送警报