No me aparecen los ficheros core

Por defecto no me aparecen los ficheros 'core'. Por una respuesta anterior busqué en el fichero profile a ver si estaba la orden ulimit -c 0 y me encontré con:
[ "SUID" = "'0" ] && ulimit -c 1000000
¿Cómo puedo hacer para que, por defecto, me aparezcan los ficheros 'core' (por supuesto siempre y cuando algún proceso tenga que generarlos)?
Muchas gracias

1 respuesta

Respuesta
1
Si no me equivoco el comando
[ "SUID" = "'0" ] && ulimit -c 1000000
sólo permite la creación de cores de hasta 1 Mb de tamaño. Si el proceso que ejecutas y devuelve un core ocupa en memoria una cantidad superior a 1Mb no obtendrás el core correspondiente. Por lo tanto, deberías incrementar este valor hasta que aparezcan los cores que buscas. Prueba, por ejemplo:
[ "SUID" = "'0" ] && ulimit -c 128000000
Suerte!
Gracias por la respuesta, pero me temo que el problema no está en el tamaño de los ficheros core. Tras hacer lo que comentas en tu respuesta he podido observar que ponga el tamaño que ponga y provocando la aparición de un fichero core (con un programa en C preparado para tal fin) no aparecen, excepto si lo ejecuto como root, donde me aparece el fichero ponga el tamaño que ponga salvo, por supuesto, si pongo 0
Al parecer es un problema de configuraciones de usuarios. Si el root lo hace bien, significa que la misma configuración del root hay que aplicársela a los demás usuarios.
Si la orden ulimit la colocas en el profile y te funciona, significa que estás usando el shell bash en root. Usa el mismo shell en los otros usuarios. Esto lo puedes configurar editando /etc/passwd
Además, a los otros usuarios, añádeles en su profile la misma orden que al root, o sea, el ulimit correspondiente.
¿Te funciona?
http://www.cse.unsw.edu.au/faq/questions/files-core.html
Funciona, bueno, haciendo alguna cosa mas también. Te cuento, debido a algún extraño error mio lo que pone en el profile, no es SUID, sino $UID, es decir, que si el usuario es el root se crean los ficheros core. Lo que hice fue lo que me dijiste, pero sin poner la parte antes del && en el bash_profile del usuario correspondiente y, por supuesto, se crea el fichero core. También hice, cuando me percate del fallo, ["$UID"="0" || "$UID"="501"] && ulimit -c 1000000, de forma que tanto con el usuario 0 (root) como con el usuario 501, el que a mi me interesaba, se crean ficheros core, y no con los demas.
Muchas gracias por tu ayuda, un saludo
Alquimia

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas