Estou executando a máquina virtual QEMU no -daemonize
modo e, em seguida, gero um processo arbitrário de primeiro plano (possivelmente interativo) destinado a interagir com a instância QEMU. Em geral, quando o processo em primeiro plano é concluído, faço uma limpeza da instância QEMU via pidfile:
qemu-system ... -pidfile ./qemu.pid -daemonize
/my/custom/interactive/process
pkill -F ./qemu.pid
No entanto, em alguns cenários, o QEMU pode sair independentemente e meu processo em primeiro plano continua a ser executado. Mas eu gostaria de pará-lo no caso. Portanto, o comportamento do meu processo interativo personalizado deve ser assim:
tail -f --pid=./qemu.pid /dev/null
Como posso fazer isso bem? Talvez haja algum tipo de wrapper de tempo limite, para que eu possa executar algo como:
trackpid ./qemu.pid /my/custom/interactive/process