Estoy tratando de crear un script que inicie algunos programas.
startup.sh
knetworkmanager
emesene
keepassx
El problema es que cuando ejecuto el script, solo se inicia knetworkmanager. Esto se debe a que lo iniciará y luego esperará a que termine. ¿Cómo puedo iniciar un programa sin esperarlo? No creo que pueda agregar "&" después de cada comando, porque todos los procesos se eliminarán cuando finalice el script.
linux
shell-script
Bart van Heukelom
fuente
fuente
No, los procesos no deben eliminarse cuando el script finalice si lo usa
&
. Intentalo.fuente
Según los programas de ejemplo que proporcionó, parece que está intentando iniciar algunos programas cuando se inicia KDE. Si es así, eche un vistazo a la función de inicio automático de KDE. Este artículo describe más y brinda instrucciones sobre cómo agregar programas al inicio automático.
fuente
Como otros han dicho, use el
&
operador para poner un comando en segundo plano en el momento en que el shell lo ejecuta.Si desea que las partes componentes se ejecuten en orden (en lugar de hacerlo de manera concisa), pero aún así desea que el todo esté en segundo plano, use un sub-shell como este:
o, si desea que la operación de cada parte esté condicionada a la finalización exitosa del uso de la parte anterior:
fuente
Agregar un '&' después de cada comando definitivamente funcionará. Significaría que esos scripts o programas continuarían ejecutándose incluso después de que finalice startup.sh.
fuente
Otra opción sería comenzar el proceso como un demonio, usando / sbin / start-stop-daemon
fuente