检查makefile中的进程
全部, 我目前有一个makefile,其中包含以下代码:检查makefile中的进程,makefile,Makefile,全部, 我目前有一个makefile,其中包含以下代码: .PHONY: start-server start-checker kill-server kill-server: -pkill -f 'python3 start_server_host.py' start-server: nohup python3 start_server_host.py >> server.out 2>&1 & start-checker: nohu
.PHONY: start-server start-checker kill-server
kill-server:
-pkill -f 'python3 start_server_host.py'
start-server:
nohup python3 start_server_host.py >> server.out 2>&1 &
start-checker:
nohup python3 checker.py ${ARGS} test >> checker.out 2>&1 &
start checker
需要start server
在那里。我正在努力想办法做一些事情,比如:
start-checker:
if not process start_server_host.py
then start-server
nohup python3 checker.py ${ARGS} test >> checker.out 2>&1 &
目标是在未执行此操作时启动
启动服务器
,以避免执行此手动操作我强烈建议不要将makefiles用于系统管理任务。我理解它的明显优势(用于参数处理的最小样板代码)是甜蜜的。但我向你保证,它迟早会咬你的
回答您的问题:修改检查服务器
以依赖启动服务器
。修改start server
以创建名为start server
的文件。修改kill server
以删除文件start server
现在,如果执行makestart server
操作,服务器将启动,并将创建一个名为start server
的文件。如果执行检查服务器
,并且文件启动服务器
存在,它将不会调用启动服务器
。如果执行makekill server
操作,则文件start server
将被删除。如果再次执行检查服务器
,则文件启动服务器
将丢失,并且将首先调用启动服务器
当服务器崩溃并且文件start server
未被删除时会发生什么情况?这就是这个makefile系统管理员黑客会来咬你的时候
我再次强烈建议不要将makefile用于系统管理任务。作为对一个类似问题的回答,我写了更详细的内容:为什么不:1)检查服务器是否正在运行,如果没有,在启动服务器
配方中启动它,2)声明启动服务器
是启动检查器
的先决条件?