有一个激活pythonvenv并在后台运行服务器的脚本,但现在我试图在启动进程时保持pid,然后在完成后用pid终止进程。然而,并不是所有的时间都是被杀的。
我的问题是,我是否可以使用一个名称运行该进程,然后在之后使用pkill name终止它?那会是什么样子
#!/bin/sh
ROOT_DIR=$(pwd)
activate(){
source $ROOT_DIR/.venv/bin/activate
python3 src/server.py -l & pid=$! # <== This is the process
python3 src/client.py localhost 8080
}
activate
sleep 10
kill "$pid"
printf "\n\nServer is done, terminating processes..."