procmail and resource temporarily available

spiff06

Well-Known Member
Jan 17, 2004
87
0
156
Hi all,

I've had a procmail script working for about three years on my server without a glitch. What it does is retrieve data from an MBOX, and fill up a database with each email's data. It is invoked through a cron job at regular intervals.

The issue I'm facing is that the top shell script (invoked from cron or the command line) spits out failures upon invocation of the sub shell script (invoked recursively for each email): /bin/bash: fork: Resource temporarily unavailable.

I've tried disabling Shell Fork Bomb Protection, but to no avail.

The issue cropped up on October 27; no message has been processed since then.

I'm at a loss as to how to proceed from here.
 
Last edited:

spiff06

Well-Known Member
Jan 17, 2004
87
0
156
Well, disabling shell fork protection does work; I just hadn't logged out of the shell window the first time around... Disabling shell fork protection, then opening the SSH allows me to run the script.

It would then seem I need to increase my server's tolerance for shell script usage for that particular user (I don't want to disable shell fork protection entirely).

Several files appear to deal with this, namely:
  • /etc/bashrc
  • /etc/profile
  • /etc/profile.d/limits.sh
  • /etc/profile.d/limits.csh

The question remains as to what limits I should set. Is my procmail script disabled based on the number of shell scripts run over a period of time? Memory consumed? How do I find out where the current usage is stored for that particular user?

Thanks!
 

spiff06

Well-Known Member
Jan 17, 2004
87
0
156
These are the limits I currently have on the account (after re-enabling shell fork protection):

$ ulimit -a
core file size (blocks, -c) 200000
data seg size (kbytes, -d) 200000
file size (blocks, -f) unlimited
max locked memory (kbytes, -l) 4
max memory size (kbytes, -m) 200000
open files (-n) 100
pipe size (512 bytes, -p) 8
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 20
virtual memory (kbytes, -v) 200000