杀死python后台进程gitlab ci
我正试图杀死一个python作业,该作业是在gitlab ci中的一个阿尔卑斯码头工人的后台启动的: Python杀死python后台进程gitlab ci,python,docker,gitlab-ci,alpine,Python,Docker,Gitlab Ci,Alpine,我正试图杀死一个python作业,该作业是在gitlab ci中的一个阿尔卑斯码头工人的后台启动的: Python import asyncio def main(): loop = asyncio.get_event_loop() try: loop.run_forever() except KeyboardInterrupt: print('Stopping') if __name__ == '__main__': mai
import asyncio
def main():
loop = asyncio.get_event_loop()
try:
loop.run_forever()
except KeyboardInterrupt:
print('Stopping')
if __name__ == '__main__':
main()
下面是运行的命令
$ COVERAGE_FILE=.coverage.test coverage run test.py &
$ TEST_PID=$!
$ echo "${TEST_PID}"
26
$ kill -SIGINT ${TEST_PID}
$ jobs -l
[1]+ 26 Running
$ kill -9 ${TEST_PID}
$ jobs -l
[1]+ 26 Running
我永远看不到.coverage.test
,因为这项工作永远不会完成。
但是,当我在本地运行命令时,它似乎工作得很好 终于找到了解决方案:
-首先,添加前面提到的
signal.signal(signal.SIGINT,优雅地退出)
。-然后在终止后添加
wait
命令:
COVERAGE_FILE=.coverage.test coverage run test.py &
TEST_PID=$!
kill -SIGINT ${TEST_PID}
wait
我看到并尝试了上述内容的可能副本;这对我不起作用