启动
需要长期后台执行的指令,直接在前面加 nohup ,例如:
nohup uvicorn main:app --host 0.0.0.0 --reload
停止
找到后台进程,杀掉。
因为已经在后台运行了,所以如果只是直接reload的话,会报错:
ERROR: [Errno 98] Address already in use
因此需要具体来说:
- 先找8000的默认端口占用:
sudo lsof -t -i tcp:8000
- 在列出的pid中识别具体进程:例如,假设返回的id是2011
ps -ef | grep 2011
如果没有任何返回内容,就不是它;如果有返回一串调用,就是了
- 杀,父子都杀掉:
kill -9 2011
这样就已经停掉了。
可以正常重新reload起来。