Question: I am modifying /etc/security/limits.conf on the machine, and then installing Supervisor in a Chef recipe. After the recipe run finishes, if I run `cat /proc/<process id>/limits` I see:

```
Limit                     Soft Limit           Hard Limit           Units     
Max cpu time              unlimited            unlimited            seconds   
Max open files            1024                 4096                 files

```

If I log into the machine and run `service supervisor restart`, the max open files is then set correctly. However, if I run this command in the recipe (right after installing supervisor, at the very end of the recipe, anything) the limit does not change. It is not until I log in and manually run that command that the limit changes.

How can I get the open file limit for supervisor to change using the chef recipe? Operating system is Ubuntu 12.04.

Answer: 
To any weary googlers: you might be looking for the `minfds` setting in [the supervisor config](http://supervisord.org/configuration.html#supervisord-section-values). This setting seems to take effect for both the supervisord process as well as the children. I had a number of other strategies, including launching a shell script that set the limits before executing the actual program, but this was the only thing that worked.
The implementation of supervisor is such that a process can be started as a non-root user, with more privileges than that user is allowed - bypassing pam, limits.conf, etc. So I doubt that this problem will be fixed. Have a look at <https://github.com/Supervisor/supervisor/pull/229>