On Fri, Nov 12, 2004 at 07:32:40PM +0200, Kamen TOMOV wrote: >On Fri, Nov 12 2004, Christopher Faylor wrote: > >> On Fri, Nov 12, 2004 at 05:29:45PM +0200, Kamen TOMOV wrote: >> >> >That's a great idea. I'll stick with it and will rewrite the >> >application to start the daemons from the cygwin's shell. That >> >would make my life much easier because instead of rewriting the >> >cygwin's fork function to register processes in its own virtual >> >table (although I do not know if that is possible) they would be >> >instantly available. It was strange to me that fork do not make >> >them appear there but anyway... thank you very much! >> >> I can't shake the feeling that we are dancing around a misconception >> here somewhere. >> >> The bash shell doesn't do anything magical when it starts processes. >> If you are using cygwin's fork then you shouldn't be worrying about >> "windows pids". If you are running a cygwin program which uses fork >> and exec then the processes that it creates are cygwin processes and >> you will be able to manipulate them using normal UNIX functions. >> >> If you are calling cygwin_winpid_to_pid on a pid that you got from a >> fork(), or spawn*() call then that is not right. >> >> cgf > >It's for sure that there are some things that are not quite clear, but >in a nutshell: > >We have a daemon compiled with cygwin's fork, kill, etc. > >1st scenario: > >- the daemon gets started as a Windows service >- the daemon forks (calling the cygwin's version of fork()) and as a >result we have a few children. > >The facts: > >- neither the daemon, nor its children are seen by cygwins's ps.exe or > could be killed with kill.exe, or kill(). > >- calling cygwin_winpid_to_pid on the parent's pid or any of its > children's pid returns the error result: -1.
*Why* are you calling cygwin_winpid_to_pid on the pids? If you are getting the pid from the return value of fork they are cygwin pids. You don't call cygwin_winpid_to_pid on them. A normal cygwin program should not be using cygwin_winpid_to_pid. As Pierre points out in the next message, what you are describing seems normal for starting a service in certain scenarios but you still haven't explained why you think you need cygwin_winpid_to_pid. cgf -- 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/