Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
杀死python后台进程gitlab ci_Python_Docker_Gitlab Ci_Alpine - Fatal编程技术网

杀死python后台进程gitlab ci

杀死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

我正试图杀死一个python作业,该作业是在gitlab ci中的一个阿尔卑斯码头工人的后台启动的:

Python

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

我看到并尝试了上述内容的可能副本;这对我不起作用