我正在尝试使用Makefile启动后台进程并将其PID保存到文件中。这就是我到目前为止所做的:
start:
./bin/provisioner & echo $$! > ./bin/prov.pid
end:
kill `cat ./bin/prov.pid`
当我运行make start
时,启动进程并保存文件 - 但进程不会从shell中分离。命令挂起,这与我想要的完全相反。但是如果我复制起始块的内容并在shell中独立运行它:
./bin/provisioner & echo $$! > ./bin/prov.pid
它分离很好。为什么在Makefile中运行时不起作用?
现有三个答案(如下所列),但它们都不适用于我。我还尝试使用$(shell ...)
调用shell命令,但这也无效。有人可以帮忙吗?