Linux上后台运行python脚本,并查看脚本日志

ps -ef | grep xxx.py  #查看xxx.py脚本是否在运行

#后台运行xxx.py脚本,并输出日志到nohup.out文件,当前命令这个文件与xxx.py位置在一个目录下
nohup python -u xxx.py params1 > nohup.out 2>&1 &  

cat nohup.out  #查看py脚本运行的日志内容

https://www.cnblogs.com/evilliu/p/7682444.html
https://www.jb51.net/article/156969.htm

### 如何在Linux系统中运行Python脚本 #### 方法一:直接使用`python`命令执行 可以直接通过 `python` 命令来运行 Python 脚本。如果不确定当前环境中 `python` 的位置,可以通过 `which python` 来查找其绝对路径[^2]。 ```bash $ which python /usr/bin/python ``` 接着利用查找到的解释器路径或者默认的 `python` 或者更具体的版本号(比如 `python3`),加上要执行的脚本名称即可: ```bash $ python /path/to/your_script.py ``` #### 方法二:设置Shebang赋予可执行权限 可以在脚本的第一行加入 Shebang 行指明使用的 Python 解释器的位置,给该文件增加可执行权限以便能够像其他 shell 脚本一样被执行。对于 Python 2.7 版本而言,可以这样操作: ```bash #!/usr/bin/python2.7 print("Hello, world!") ``` 保存上述内容到名为 `hello_world.py` 文件之后,为其添加可执行权限: ```bash chmod +x hello_world.py ``` 现在可以从终端直接调用此脚本来执行它: ```bash ./hello_world.py ``` #### 方法三:使用虚拟环境管理工具创建特定版本的Python环境 为了更好地管理和隔离不同项目的依赖关系以及所需的 Python 版本,推荐使用 Conda 创建一个新的环境安装所需版本的 Python 和包库[^3]。 ```bash conda create -n my_project_env python=3.8 conda activate my_project_env ``` 激活新建立好的环境后,在这个环境下编写的任何 Python 程序都会自动关联至所设定的那个 Python 版本及其对应的库集合。 #### 后台运行Python程序 为了让长时间运行的任务不影响用户的交互体验,还可以考虑将其放到后台去跑。这通常涉及到两个方面的工作——让进程脱离控制终端继续工作;重定向标准输入输出流以防日志丢失等问题发生。这里给出一个简单的例子说明怎样做到这一点[^1]: 假设有一个叫做 `long_running_task.py` 的 Python 应用想要让它以后台模式启动,则可以用如下指令完成部署: ```bash nohup python long_running_task.py > output.log 2>&1 & ``` 这条语句的作用在于: - 使用 `nohup` 工具使应用程序忽略挂起信号; - 将所有正常输出的信息导向到 `output.log` 文件里; - 把错误信息也追加进同一个日志文档(`2>&1`); - 加上最后面那个单独的 `&` 符号表示把整个作业放入后台处理队列当中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值