makefile pid

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