|
Hi,
i need to find out the amount of processor time used by a process.
My Requirement:
i am running 2 programs.
1) The ACTUAL process.
2) a monitor process.
The ACTUAL process goes into an infinite while
loop. it begins to use a 99% of the CPU time.
i need to detect this condition from the monitor
program and kill the ACTUAL program.
please help, its very urgent.
thank you..
|
|
|
|
|
Just to add my 2 cents, this sounds like a very BAD solution. You need to figure out what is causing the infinite loop in the first place, and fix it! Doing it your way could cause other problems - resource leaks, for instance, or leave files/data in an unknown state.
An expert is somebody who learns more and more about less and less, until he knows absolutely everything about nothing.
|
|
|
|
|
dear navin,
i gave an example....
suppose... a program enters into an infinite
loop... (suppose)...
then, it would surely use the maximum CPU time.
there's is a method by which we can detect the
cpu usage time of a process. i've seen the
method somewhere, but i dont remember it now..
can you help me.... ??
bye
|
|
|
|
|
Using the majority of the CPU (e.g., 95%) and an infinite loop are not necessarily the same thing. While an infinite loop does cause the CPU usage to go very high, other operations can also cause the CPU usage to spike. So, if you were simply terminating a process based solely on CPU usage, you may be doing so for the wrong reason. Make sense?
"When I was born I was so surprised that I didn't talk for a year and a half." - Gracie Allen
|
|
|
|
|
I agree with Navin. Address the infinite loop issue and the need for a separate "monitor" process should go away. Even if you do need an infinite loop (e.g., while (1) ), you should still take measures so that it does not consume all of the CPU.
"When I was born I was so surprised that I didn't talk for a year and a half." - Gracie Allen
|
|
|
|
|
I agree with other two statements.
you want to do an ugly thing
but look for a class from Paul Maker on CP
CPdhQuery
I think this can solve your problem.
|
|
|
|
|
Hi,
I have dialog based application. If my event handler is in any class other than the main dialog class it never gets called. I would like to move the event handler to my subclass of a control.
Suggestions? What am I doing wrong?
Thanks
Hua-Ying
|
|
|
|
|
some example code so that we can see what happen? I'm not a wizard
Jaime
|
|
|
|
|
Example code probably won't help but I can walk through the steps to reproduce the problem.
I'm using Visual Studio 2003 .Net
- Create new MFC Application, select application type Dialog based.
- In the class view, using the wizard create a new class with a base class of CButton, I called mine MyButton.
- in the main dialog create a new button, right click and "Add Event Handler" choose the Message type: BN_CLICKED and the class as MyButton.
- in the handler OnBnClickedButton1 add MessageBox("hello");
- run application
- click button, nothing happens
however if you added the Event Handler to the main dialog class created by the wizard, then everything works fine.
Ideas?
Thanks
Hua-Ying
|
|
|
|
|
did you put a break point in your handler ?
me think it's the MessageBox that simply doesn't show.
Maximilien Lincourt
Your Head A Splode - Strong Bad
|
|
|
|
|
Hmm. I'd say the button press must be notified to the parent of the button, in this case the dialog.
Notice that the event is called "BN_CLICKED". the "N" in "BN_" usually means "notification", in which case, the button's parent is notified.
HTH
Bikram Singh
I believe we should all pay our tax with a smile. I tried - but they wanted cash.
|
|
|
|
|
Use message reflection. See technical note 62 in MSDN. Search for TN062
"You're obviously a superstar." - Christian Graus about me - 12 Feb '03
"Obviously ??? You're definitely a superstar!!!" mYkel - 21 Jun '04
Within you lies the power for good - Use it!
|
|
|
|
|
In the message map for MyButton , add the following:
ON_CONTROL_REFLECT(BN_CLICKED, OnBnClickedButton1) and remove the ON_BN_CLICKED() statement.
"When I was born I was so surprised that I didn't talk for a year and a half." - Gracie Allen
|
|
|
|
|
Thanks, this is exactly what I'm looking for!
|
|
|
|
|
What class did you derive from? What event are you wanting to handle?
"When I was born I was so surprised that I didn't talk for a year and a half." - Gracie Allen
|
|
|
|
|
See my response to Jamie please, that should be enough to completely reproduce the problem.
Thanks
Hua-Ying
|
|
|
|
|
IIRC, I think you will need to use "reflection" to make this work. There is usualy a weird message handle for classes like button that allows them to trap their own click messages.
In VS 7, and I think VS 6 did it this way too, the message you want to trap in the wizards looks something like:
=BN_CLICKED
And the message map entry will be something like:
ON_CONTROL_REFLECT(BN_CLICKED, OnBnClicked)
Hope this helps.
An expert is somebody who learns more and more about less and less, until he knows absolutely everything about nothing.
|
|
|
|
|
Thanks for everyone's help!!
For anyone else who's having the same problem, one last thing you must do before this solution will work is to add a variable in you main dialog class so that when it loads your control it will use the subclass for the control instead of the original.
Details: using the class wizard generate a new variable with your subclass type, click the control check box (VS 2003 .Net) so that DDX_Control will update the value.
You can also follow Chris Maunder's great tutorial on subclassing controls:
tutorial
Hua-Ying
|
|
|
|
|
Hello Dear
I want to convert an character string into UNICODE(Wide Character), I found function for it in MSDN it's called MultiByteToWideChar()...But don't know how to use it ..? Pls any one can do it for me...?
Suppose I have a string say : char *sString ="XYZ"; and want to convert it using this function then ..?
Thank You...
MacGlen
|
|
|
|
|
Straight from MSDN:
WCHAR wszUserName[256];
char *sString = "XYZ";
MultiByteToWideChar(CP_ACP,
0,
sString,
strlen(sString) + 1,
wszUserName,
sizeof(wszUserName) / sizeof(wszUserName[0]));
"When I was born I was so surprised that I didn't talk for a year and a half." - Gracie Allen
|
|
|
|
|
Dear David Crow
Thank You very much for my answer.
It's really wroking very find...
I againg like to thank you.
Bye
Amarelia Maehsh
|
|
|
|
|
Hi,
I have several SplitterWnd with dialogbox-based FormView in my application. For a good layout i need the size in pixel of the dialogboxes (generated with the ressourceeditor) as early as possible to arrange the splitter windows.
Please help me!
|
|
|
|
|
Rolf Faßler wrote:
I have several SplitterWnd with dialogbox-based FormView in my application.
How many CSplitterWnd controls are there? Is the view in each pane derived from CFormView ?
What are you wanting the size of the panes to be based upon?
"When I was born I was so surprised that I didn't talk for a year and a half." - Gracie Allen
|
|
|
|
|
I have up to 11 SplitterWnd in my application, the panes in four of them are derived from CFormView.
|
|
|
|
|
Rolf Faßler wrote:
I have up to 11 SplitterWnd in my application...
So does this mean that you have 22 panes (I'm assuming that there are two panes per splitter window)?
"When I was born I was so surprised that I didn't talk for a year and a half." - Gracie Allen
|
|
|
|