guardar el PID del proceso generado dentro de un Makefile
(1)
Actualmente tengo una regla Makefile así:
start:
./start.sh
que inicia un servidor muy simple que se necesita como parte del proceso de compilación. Tengo otra regla para detener el servidor:
stop:
kill `cat bin/server.PID`
aquí está el script start.sh:
#!/bin/bash
cd bin
python server.py &
echo $! > server.PID
NB server.py debe ejecutarse desde dentro del directorio bin
Me gustaría implementar la funcionalidad de start.sh dentro de la regla de inicio. Probé varias cosas pero parece que no puedo obtener el PID.
No entiendo dónde te estás atascado. Qué hay de malo en
start:
cd bin && { python server.py & echo $$! > server.PID; }
?
También puede hacer que el archivo pid sea un objetivo y una dependencia:
start: server.PID
server.PID:
cd bin && { python server.py & echo $$! > $@; }
stop: server.PID
kill `cat $<` && rm $<
.PHONY: start stop