This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: cat /proc/registry/HKEY_PERFOMANCE_DATA/@ hangs


Igor Pechtchanski schrieb:

On Tue, 13 Jul 2004, Reini Urban wrote:


cat /proc/registry/HKEY_PERFOMANCE_DATA/@
hangs forever.


According to MSDN
(<http://msdn.microsoft.com/library/en-us/perfmon/base/the_hkey_performance_data_key.asp>):

	...although you use the registry to collect performance data, the
	data is not stored in the registry database.  Instead, calling the
	registry functions with the HKEY_PERFORMANCE_DATA key causes the
	system to collect the data from the appropriate system object
	managers.

	To obtain performance data from the local system, use the
	RegQueryValueEx function, with the HKEY_PERFORMANCE_DATA key.
	The first call opens the key; you do not need to explicitly open
	the key first.  However, be sure to use the RegCloseKey function
	to close the handle to the key when you are finished obtaining
	performance data.

This tells me that reading from HKEY_PERFORMANCE_DATA never returns EOF,
so that you have to terminate it explicitly from the outside.  So your
behavior sounds absolutely normal.


Win2K (no win98 OS)
Shouldn't HKEY_PERFOMANCE_DATA be disabled on NT systems, or does it work?


If the key is present, it'll be in /proc/registry.  FWIW, the MSDN web
page above doesn't mention any restrictions on the systems that this key
is present on.


This cat has pid 560:
$ cat /proc/560/status
[snip]

kill 560
doesn't help, /bin/kill.exe neither.
pskill works ok.


"/bin/kill -f 560".

$ cat /proc/registry/HKEY_PERFOMANCE_DATA/@


/bin/kill -f doesn't work. (W2K SP4, all updates)

$ ps
      PID    PPID    PGID     WINPID  TTY  UID    STIME COMMAND
     1432       1    1432       1432    0 1000 11:47:24 /usr/bin/bash
      636    1432     636       1724    0 1000 11:47:37 /usr/bin/cat
     1732       1    1732       1732    1 1000 11:49:10 /usr/bin/bash
     1772    1732    1772       1784    1 1000 11:49:14 /usr/bin/ps

$ /bin/kill -f 636
couldn't open pid 636

If the registry handler should follow the stream semantics it should react on signals at least.
But neither Ctrl-D nor Ctrl-C work.


next attempt: (still no killall script? then it would be simply killall cat)

$ /bin/kill -9 -f 1748
couldn't open pid 1748

but here cat and the parent bash windows are killed.
--
Reini Urban
http://xarch.tu-graz.ac.at/home/rurban/


-- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]