Jobs vs Processes on IRIX 6.5.x
Just spent some time debugging an application which forks off multiple
processes. When logged in directly to our Indy via XDM, the application was
functioning as intended. When logged in remotely via the telnetd or rlogind
daemons, the application would stop functioning when one of the processes
tried to fork.
The error message was the EAGAIN "Resources temporarily unavailable".
After chasing it down for a while, it was determined that the application
when run via telnet was considered a JOB. All the processes spawned were
considered part of that Job and thus we were bumping into one of the job
resource limits (specifically, jlimit_nofile_cur was set too low).
When the application is run via a local login via XDM, a "JOB" is not
created (or listed) and it appears that instead each spawned process gets
its own process resource limits (and uses rlimit_nofile_cur instead).
Is this the normal behavior of remote login sessions (i.e., telnet or
rlogin) vs. local login sessions?
Re: Jobs vs Processes on IRIX 6.5.x
Joel Swan wrote:
> Is this the normal behavior of remote login sessions (i.e., telnet or
> rlogin) vs. local login sessions?
Local login sessions using "login" are also assigned their own job containers.
Of course, anything spawned by an initialization time boot process (i.e.
something started from /etc/rc2.d) does not create a job container, unless
it passes something aware of job containers (login, cron, PBSPro batch
scheduler, recent OpenSSH...). Haven't tried XDM, but e.g.
OpenSSH used not to create job containers but these days does...
Pretty easy to test -- try to restart XDM from a root login (which gets
a job container, but usu no job limits, so you'll probably not bump
onto issues if everything joins that container), and see if processes spawned
by it join the same container....
- If so, that's probably an oversight, at least in your flavour of 6.5.x.