Como definir o ulimit (fd) quando você bifurca um processo?

1

Normalmente, /etc/security/limits.h só funciona quando você faz login em um shell.

E quando você bifurca um processo no Linux, onde o valor de Max open files de /proc/PID/limits é controlado por?

    
por Howard 12.03.2013 / 20:33

3 respostas

3

Meu entendimento é que essas configurações no fork da criança são herdadas do pai. Além disso, você pode definir as informações de limite em seu processo usando as chamadas do sistema getrlimit (), setrlimit ().

    
por 12.03.2013 / 20:59
1

O arquivo /etc/security/limits.conf é usado por pam_limits .

O comando ulimit é um comando interno do shell que pode modificar os limites físicos e físicos dentro dos limites definidos pelo arquivo de configuração do PAM (a menos que você seja root).

Você pode aplicar esses limites nas sessões "login" ou "ssh", etc. O PAM aplica os limites dos processos (e processos bifurcados) iniciados nesta sessão. Eles são herdados.

    
por 12.03.2013 / 22:07
0

O Fork herdará o ambiente do pai que o bifurcou ... se isso tiver um limite em fd, ele deverá ser aplicado.

    
por 13.03.2013 / 00:14