New issue 149 by radhika09: c:\memcached\memcached.exe -d install on
windows 7 server
http://code.google.com/p/memcached/issues/detail?id=149
What steps will reproduce the problem?
1.Gave this in command prompt
c:\memcached\memcached.exe -d install
2.Failed to ignore SIGHUP: Result too large
3
What is the expected output? What do you see instead?
Its spposed to install but Failed to ignore SIGHUP: Result too large is teh
message
What version of the product are you using? On what operating system?
memcached-1.4.5-x86.zip file I downloaded and windows 7 is the Operating
system.
Please provide any additional information below.
Comment #1 on issue 149 by ingenthr: c:\memcached\memcached.exe -d install
on windows 7 server
http://code.google.com/p/memcached/issues/detail?id=149
This is an issue, but the -d functionality has changed.
I know it's not so nice to change flags in micro-releases, but the use of
-d for installing as a service was never really sufficient for most
installs, as you really need a way to manage the arguments to memcached.
The -d should not generate that error message, but it will, starting with
1.4.5, no longer support installing itself as a windows service. I
recommend you wrapper it with whatever is appropriate to start the
memcached.exe and pass flags.
what flags you recommend to install and start memchached
# c:\memcached\memcached.exe -d install
# c:\memcached\memcached.exe -d start
Install: http://support.microsoft.com/kb/251192
memcached -h gives you the options you can pass.. "memcached -m 1024" would
use 1gb of ram etc..
I installed service as:
sc create memcached binpath= "path to bin.exe"
But it does not starting. Error 1053: The service did not respond to the
start or control request in a timely fashion.
Run the command prompt as Administrator and I could install. Click on
Start-> Accessories-> right click on CMD and select Run AS Administrator
and give your command. It should work.
I've did this:
1) run CMD as an administrator (see comment 5)
2) type SC create memcached binpath= "c:\memcached\145\memcached.exe -m 512
-d"
3) type NET START memcahed
Although you get an error, the program started (check task manager or
connect to it using telnet).
The probel is that every time you do a "net start memcached" you get
another instance running (how do they all bind on 11211 I do not know).
Bottom line: moved back to 1.4.4 until this issu is solved.
I know roughly nothing about Windows, but why would you add -d to the sc
thing? In unix, I'd expect it to make that not be controlled by the
supervisor.
I also tried with the 1.4.5 version from Northscale and got this:
C:\memcached-x86>sc create memcachedtest
binpath= "c:\memcached-x86\memcached.exe -m 512"
[SC] CreateService SUCCESS
C:\memcached-x86>net start memcachedtest
The service is not responding to the control function.
If my memory serves me correctly, you need a bit of extra stuff in a
windows executable for it to actually work as a service, did you
accidentally remove that when you removed everything related to handling
the -d parameter in the windows version?
Right, if you check out this:
http://code.jellycan.com/files/memcached-1.2.6-win32-src.zip
...you'll notice that there is a win32 folder which contains a bunch of
stuff, but also the files ntservice.c and ntservice.h. This is the "service
interface" that you need to implement for it to respond to service control
calls.
Did any of this code make it into later versions of memcached?
(Sadly I don't know anything about developing in C on windows, so can't
help you much more than this)