brian.pribis at gmail.com
Fri Nov 16 10:28:03 EST 2007
> 1) did you use a custom path for the pid file? (using PIDfile directive)
No, not that I am aware off. But that doesn't mean much. I might
have missed something while setting this up.
> 2) you can attach strace to the running process. Like, if
> interchange is running as PID 1000, you can do:
> strace -f -s 2048 -o /tmp/trace -pPID
> and then invoke interchange --stop. When it finishes, in /tmp/trace
> you search for interchange.pid (or just \.pid) and look up the
> path where IC is expecting it. Then compare that to the location
> where your pid file actually is.
> Btw, strace is a linux command but I think there exists its port
> to solaris. If not, use solaris-native truss command. (See manpage
> for different cmdline args).
O.k. I had to use truss and what I got was interesting. I had to
actually run it own interchange --start just so I could see what was normal.
When I run truss on the pid of an already running IC and then tried
./interchange --stop, not much happened. One thing I did notice,
however, was that I was seeing calls to "open64("[path to
interchange]/etc", O_RDONLY|O_NDELAY) = 2
I am thinking there should be a filename in there somewhere. If this
is the call to read the pid file, then I can see why it is failing. The
question is, where does this call get its value for the pid file from?
It must be missing from a configuration somewhere, but I'll be darned if
I can figure out where.
Also, I am able to delete the file while IC is running. I half
suspected that it would be locked while the server is up. Is this wrong?
Any hint where this might be would be great :)
More information about the interchange-users