I have a start/stop script which does something like this for the start command:
program1 &
program2 start
program1 further launches other processes.
I have used 'exec' and 'service' resources to start/stop but either way I see a /tmp puppet related file descriptor still open in the resulting child processes. The puppet file has subsequently been deleted after the Puppet run ended.
# lsof | grep delete
python 10144 root 2u REG 202,1 12069 25275 /tmp/puppet20130228-1114-h76qq2-0 (deleted)
mongrel2 10150 root 2u REG 202,1 12069 25275 /tmp/puppet20130228-1114-h76qq2-0 (deleted)
python 10212 root 2u REG 202,1 12069 25275 /tmp/puppet20130228-1114-h76qq2-0 (deleted)
Here, program1 is the first python command with pid=10144 which has spawned the 2nd python command with pid=10212. program2 is the mongrel2 command with pid=10150.
Puppet server version is:
puppetmaster 3.0.2-1puppetlabs1
Puppet agent version is:
puppet 3.0.2-1puppetlabs1
Any pointers on how to prevent this file descriptor leakage?
Rajul