一、編譯pyc文件:
1. 終端命令:
python3 -m py_compile test.py
2.也可通過創建compilepyc.py文件:
import compileall
compileall.compile_dir("test.py)
運行:
python3 compilepyc.py
二、編譯.so文件:
創建compileso.py文件:
from distutils.core import setup
from Cython.Build import cythonize
setup(
ext_modules = cythonize(["test1.py", "test2.py"])
)
運行以下命令即可生成後綴爲so的文件:
python3 compileso.py build_ext --inplace
文件名發生變化,Ubuntu系統下批量重命名方法:
rename -v 's/.cpython-35m-x86_64-linux-gnu.so/.so/' *
將所有後綴名.cpython-35m-x86_64-linux-gnu.so的文件後綴名改爲.so,可根據自己需要修改
Centos系統下批量重命名方法:
rename .cpython-35m-x86_64-linux-gnu.so .so *
三、python3文件後臺運行方法
1. 通過python命令後臺運行,並將保存日誌文件:
python3 test.py > 20190211.log 2>&1 &
殺死後臺進程兩種方法:
a. pkill -9 python3
b. 通過殺死進程ID
查看當前進程數量:
ps -A |grep python3|wc -l
查看當前python進程:
ps -axjf |grep python3
然後運行命令:kill -9 +進程ID
2.gunicorn配合flask後臺運行python文件
可使用終端命令:
gunicorn -w 4 -b 0.0.0.0:8080 main:app
-w:表示開啓多少個進程
-b:表示gunicorn開放訪問的地址
也可使用gunicorn配置文件:
創建配置文件gunicorn.conf:
workers = 4
# 進程數量
bind = '172.18.136.123:7002'
# 服務端IP及端口
daemon = 'True'
# 設置守護進程【關閉連接時,程序仍在運行】
timeout = 30
# 設置超時時間30s。按自己的需求進行設置
accesslog = './logs/acess.log'
errorlog = './logs/error.log'
# 設置訪問日誌和錯誤信息日誌路徑
從配置文件啓動命令:
gunicorn -c gunicorn.conf main:app
關閉gunicorn進程:
命令查看進程ID:
pstree -ap | grep gunicorn
kill -9 ID