I seem to recall a slightly different problem with "nohup" a year or two ago when processes died after logging out, and I was somewhat baffled as isn't the whole idea of nohup to allow them to live after I have logged out?
I don't remember specifics of that, other than someone else said, "Oh yeah - that happens when you nohup that program on that platform - use at"
But currently, I am using nohup to kick off a shell script, which in turn kicks off another shell script which goes through all the source code directories and builds all the objects and executables. (build, as in PVCS's (version control) build command (similar to make)).
But, if I log out while it is running now, it eats up all the memory and brings the system to its knees. The only commands that worked were 'cd' and 'pwd'. Everything else came back "can't fork - not enough available memory" (not exact wording, but close enough).
Anyway, this is AIX 4.3.3 - I had to hit the reset button to recover.
What's going on here? Is nohup only protecting the parent process and all the children are receiving HUP signals as soon as they are spawned? I guess that could cause the parent to kick off children quicker than the other children can die? It's kind of hard to tell - I couldn't run a ps command.
I don't really know, but I'd like to understand and figure out how to prevent this behavior if possible.
Now that I think about it, this is probably the same thing that happened a couple of years ago, but that system had a 'skulker' process running to kill runaway processes - it probably caught these before the system was overwhelmed.
Start Free Trial