一、windows
python.exe和pythonw.exe区别
python.exe在运行程序的时候,会弹出一个黑色的控制台窗口(也叫命令行窗口、DOS/CMD窗口);
pythonw.exe是无窗口的Python可执行程序,意思是在运行程序的时候,没有窗口,代码在后台执行。
windows 前台运行并输出日志文件
命令:python AgApi.py >> logs.log 2>&1 &
窗口关闭后程序也就关闭也
windows 后台运行并输出日志文件
命令: pythonw AgApi.py >> logs.log 2>&1
其中,AgApi.py 是你要执行的 Python 程序, logs.log是要保存输出的日志文件名。
- pythonw的python程序用于使程序在后台运行,并且不会受到终端关闭的影响。
>
符号将程序的输出重定向每次清空写入日志文件中。>>
符号将程序的输出重定向追加到到日志文件中2>&1
将标准错误输出也重定向到标准输出,这样所有输出都会被保存到日志文件中。&
符号用于将命令放到后台执行,这样你可以继续在终端中执行其他命令。
执行该命令后,程序会在后台运行,并且所有输出都会被保存到指定的日志文件中。
杀进程:
kill: taskkill /f /t /im pythonw.exe
或者:
查端口:1. netstat -ano | findstr [端口号] //说明: netstat -ano | findstr用于查找进程
杀进程:2. taskkill /F /PID [PID] //说明: taskkill /F /PID用于`强制终止`指定PID的进程
或者
写一个bat文件
echo off set KILL_PORT=1 if %KILL_PORT% EQU %kill_type% ( |
二、linux
命令: nohup python -u AgApi.py >> logs.log 2>&1 &
其中,AgApi.py 是你要执行的 Python 程序, logs.log是要保存输出的日志文件名。
- nohup命令用于使程序在后台运行,并且不会受到终端关闭的影响。
- -u 使得python不启用缓冲,日志能及时输出日志文件中,python的输出默认是有有缓冲。
>
符号将程序的输出重定向每次清空写入日志文件中。>>
符号将程序的输出重定向追加到到日志文件中2>&1
将标准错误输出也重定向到标准输出,这样所有输出都会被保存到日志文件中。&
符号用于将命令放到后台执行,这样你可以继续在终端中执行其他命令。
执行该命令后,程序会在后台运行,并且所有输出都会被保存到指定的日志文件中。你可以使用 tail -f
logs.log 命令来实时查看日志文件中的输出。
kill进程:
sudo kill -9 $(lsof -i:5000 -t)