Tengo un Makefile que inicia un servidor web Django. Me gustaría que el servidor se inicie en segundo plano, con el PID guardado en un archivo.Capturar el PID de un proceso en segundo plano iniciado por un Makefile
Mi receta es el siguiente:
run: venv
@"${PYTHON}" "${APP}/manage.py" runserver 80
Intuitivamente, a fondo el proceso y capturar el PID, que tendría que hacer algo como esto:
run: venv
@"${PYTHON}" "${APP}/manage.py" runserver 80 & ; echo "$$!" > "${LOGDIR}/django.pid"
Esto no funciona , aunque. El sub-shell que 'hacer' usos (/ bin/sh en mi caso) funciona cuando se utiliza:
<command> &
... a fondo un proceso, y funciona cuando el uso:
<command> ; <command>
(o <command> && <command>
, etc ...) para encadenar comandos. Sin embargo, cuando trato de fondo del primer proceso y la cadena de un segundo, me sale el siguiente error:
/bin/sh: -c: line 0: syntax error near unexpected token `;'
¿Cuál es la mejor manera de fondo de un proceso y capturar el PID en un Makefile?
Gracias
- B
tengo curiosidad por qué estás usando 'make' para iniciar un servidor web? ¿Es esto una especie de suite de pruebas? ¡Buena suerte! – shellter
@shelter: estoy trabajando en una aplicación web, y estoy usando un Makefile para proporcionar una forma rápida de iniciar un servidor web local, para fines de desarrollo y pruebas. – BillyBBone