ulimit
é um shell embutido e, portanto, afeta apenas o shell atual e os processos iniciados por esse shell:
$ type ulimit
ulimit is a shell builtin
Em man ulimit
:
The ulimit utility shall set or report the file-size writing limit
imposed on files written by the shell and its child processes (files of
any size may be read). Only a process with appropriate privileges can
increase the limit.
Então, sim, os processos filhos são afetados.
Para definir limites permanentemente ou para todos os processos, edite /etc/security/limits.conf
e reinicie. Os exemplos na manpage são razoavelmente bons. Você só precisa adicionar algo como:
username - core unlimited