Acontece que zsh (e a maioria dos outros shells) tem uma tabela de tarefas com tamanho máximo. Esta tabela acompanha os processos em segundo plano e, quando é preenchida, você não pode iniciar mais nenhum processo em segundo plano.
Minha solução alternativa era alterar meu script para iniciar processos do daemon em vez de vários processos em segundo plano.
por exemplo,
launch.sh:
#!/usr/bin/env zsh
for i in {1..$1} ; do
./dosleep.sh
done
dosleep.sh:
#!/usr/bin/env zsh
nohup sleep 300 &
Além disso, como mencionou @Iain, o Solaris tem um limite no número de processos que um usuário pode iniciar (ulimit -u). No Solaris 11, para aumentar esse limite, edite / etc / project e aumente os processos project.max.