Me preguntaba en qué archivo debería colocar este comando bash para que se ejecute al inicio.
# Start the MongoDB server
/Applications/MongoDB/bin/mongod --dbpath /usr/local/mongo/data --fork --logpath /usr/local/mongo/log
He estado buscando en la red y creo que es entre ~/.bashrc
, ~/profile
, /etc/bashrc
, /etc/profile
o ~/.bash_profile
. Aunque he probado estos y parecen ejecutarse en el inicio del terminal, no en el inicio de Mac . ¿Me estoy perdiendo un archivo?
/etc
, ¿debería ejecutarse en el arranque? ¿Importa en cuál está?/etc/bashrc
y así sucesivamente se ejecutan cuando se inicia un shell, al igual~/.bashrc
que: es solo que el primero se ejecutará cada vez que cualquier usuario inicie un shell, en lugar de solo su usuario.Para ejecutar un comando al iniciar OS X, debe usarlo
launchd
.Si no desea utilizar Lingon , debe crear una
launchd
Lista de propiedades. Este es un archivo XML, por lo que puede hacerlo con su editor de texto favorito o, alternativamente, puede usar el Editor de lista de propiedades que está instalado con las herramientas de desarrollo de Mac OS X. Crea lo siguiente:Guarde esto en
/Library/LaunchAgents/some.meaningful.name.plist
(necesitará una cuenta de administrador y / osudo
), luego abra una terminal y haga:Esto hará que launchd cargue el elemento, lo que hará que se inicie MongoDB en el arranque. Como
launchd
beneficio adicional, lo supervisará y, si sale por algún motivo, se reiniciará. Para deshacerse del elemento, simplemente reemplace load en el comando anterior con unload.fuente
<key>LaunchOnlyOnce</key><true/>
al dict.Otra solución simple de Stack Overflow : puede:
your_name.app
creará un archivo llamado );Cierre sesión, vuelva a iniciar sesión y ya debería haber terminado. ;)
fuente
Para iniciar comandos al iniciar sesión, puede hacer esto:
Cree un archivo de texto que contenga sus comandos (script bash):
Guarda este archivo en
~/Library/Startup.cmd
chmod +x ~/Library/Startup.cmd
fuente
@reboot
. Sin embargo, mi respuesta permitiría iniciar un programa gráfico, por eso creo que es útil.cmd
lugar desh
?Tendrás que ver cómo
launchd
ylaunchctl
trabajar en MacOS. Puede comenzar leyendo las páginas del manual para ambos comandos. Luego, puede mirar dentro/Library/LaunchAgents/
y ver/Library/LaunchDaemons/
ejemplos de cómo configurar aplicaciones para cargar en diferentes momentos a través de lalaunchctl
interfaz.Aquí hay un ejemplo que encontré en Stack Overflow que podría ayudarte más.
fuente
Si desea un enfoque que funcione en Linux y Mac OS X, una tarea cron debería ser suficiente (edite sus tareas cron ejecutando
crontab -e
):(créditos: https://unix.stackexchange.com/questions/49207/how-do-i-set-a-script-that-it-will-run-on-start-up-in-freebsd )
fuente
Estaba interesado en una respuesta unix muy simple a este problema y la encontré en otro sitio . Aquí hay un resumen de la solución.
El estándar para los shells de inicio de sesión es buscar siempre los archivos de configuración de bash con "perfil" en el nombre, en este orden: / etc / profile, ~ / .bash_profile, luego ~ / .bash_login y finalmente ~ / .profile. Cuando salen los shells de inicio de sesión, leen ~ / .bash_logout.
En mi caso, acabo de crear el ~ / .bash_profile y luego abrí las preferencias para la aplicación Mac Terminal y cambié la opción "Shell se abre con" de forma predeterminada a / bin / bash. Eso es. Limpio y sencillo.
fuente
terminal abierta, tipo
luego agregue este texto al archivo:
fuente