Hi Monks,
Bare with me as I try to explain this...
I've hit a roadblock with a script that I'm working on. It's a script that runs as a daemon after detaching from the shell.
It checks the database for work to do and when it finds work it spawns a child process to do the work and reaps the child process and the cycle continues.
The problem is that I need to transfer some files over to a secondary server and I've decided on Net::SFTP::Foreign as it seems to be the fastest based on all the testing that I've done.
I've setup a small test script which works great. When I try to transfer this code over to the daemonized script it refuses to connect.
After many hours of debugging it appears that it is related to:
close (STDOUT); close (STDIN); close (STDERR);
If I don't close() STDOUT, STDERR and STDIN then the code related to Net::SFTP::Foreign functions properly and everything works great.
The problem is I am under the impression that close()'ing STDOUT, STDERR and STDIN is required to completely detach processes from parents.
Can anyone provide some wisdom on this one?
In reply to Net::SFTP::Foreign use in Daemonized script by koyrist
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |