如何使用 Linux 后台运行 Python 脚本,并输出日志文件

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 如何使用 Linux 后台运行 Python 脚本,并输出日志文件

在这里插入图片描述

简介:因为Python代码的简洁易上手特性,有时候就会弃坑Java,来使用Python开发一段程序来达到自己想要的效果。本篇文章就是来介绍如何在Linux相关系统上运行Python程序

1. 脚本执行

1.1 直接启动

介绍的第一种方式呢就比较简单粗暴。这种方式如果使用 ctrl+c ,程序就会终止了

如果运行的python脚本执行时间较快,可以使用这种方式同时也方便查看日志

[xxx@single xxx]# python run_test.py

注意:python这个命令,需要和系统内的配置相对应,不然执行会报各种问题

1.2 nohup执行并打印日志

使用nohup命令启动不会因为会话关闭而导致程序退出

后台启动python脚本,并输出日志到p_log.log文件中

[xxx@single xxx]# nohup python p_test.py > p_log.log 2>&1 &

可以使用 >dev/null 2>error.log 只记录程序的异常日志

[xxx@single xxx]# nohup python p_test.py >/dev/null 2>p_error.log 2>&1 &

1.3 nohup执行不打印日志

[xxx@single xxx]# nohup python p_test.py >dev/null 2>&1 & 

1.4 参数说明

序号 参数 说明
1 命令行尾的 & 标识后台运行程序
2 nohup nohup命令用于不挂断地运行命令
3 命令行首的python 执行python代码的命令
4 p_log.log or p_error.log 程序运行期间输出的日志文件
5 p_test.py python程序脚本源代码
6 > 打印程序输出信息到指定日志文件中
7 /dev/null 2>&1 表示什么也不输出
附加: -u 参数:强制其标准输出也同标准错误一样不通过缓存直接打印到屏幕。其实就是不加缓存,如果在python命令后面不加 -u,导致不会实时刷新print函数的信息

2. 停止脚本运行

2.1 查看python脚本服务

[xxx@single xxx]# ps -ef | grep python
root     10404 10244  0 10:08 pts/0    00:00:14 python /home/python/p_test.py

2.2 关闭执行python的服务

[xxx@single xxx]# kill -9 10404

或者运行了多个python脚本,想来点简单粗暴的是吧

[xxx@single xxx]# pkill python

2.3 保险起见检查下

如果没有python相关的程序在运行,即停止成功

[xxx@single xxx]# ps -ef | grep python
如果本篇对你有用,欢迎点赞、关注、转载,由于作者水平有限,如有问题请留言。
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
23小时前
|
SQL Oracle NoSQL
实时计算 Flink版操作报错合集之报错“找不到对应的归档日志文件”,怎么处理
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
3天前
|
监控 Linux Shell
但凡我早点知道这个Linux批量ping的脚本,也不至于现在还单身!
但凡我早点知道这个Linux批量ping的脚本,也不至于现在还单身!
|
4天前
|
数据采集 机器学习/深度学习 数据挖掘
如何使用 Python 统计分析 access 日志?
【8月更文挑战第14天】如何使用 Python 统计分析 access 日志?
15 0
如何使用 Python 统计分析 access 日志?
|
4天前
|
监控 Linux Shell
"揭秘!一键掌控Linux服务器健康的秘密武器——超实用系统检查脚本,让你的服务器稳如老狗,告别宕机烦恼!"
【8月更文挑战第14天】服务器宕机或资源耗尽会严重影响业务。为此,你需要一个Linux系统检查脚本来守护服务器健康。它可以自动检测潜在问题如磁盘满载、内存泄漏等,避免服务中断。脚本应包括磁盘空间、内存/CPU使用、系统时间准确性、关键服务状态及系统日志分析等检查项。通过编写并定期运行这样的脚本,可以显著提高服务器的稳定性和可靠性。
16 1
|
5天前
|
应用服务中间件 Linux nginx
Nginx log 日志文件较大,按日期生成 实现日志的切割
Nginx log 日志文件较大,按日期生成 实现日志的切割
23 0
|
5天前
|
C#
C# 写日志文件
C# 写日志文件
10 0
|
6天前
|
关系型数据库 MySQL Linux
Linux——日志文件按天切割
Linux——日志文件按天切割
20 0
|
4天前
|
NoSQL 关系型数据库 MySQL
Linux学习记录---(1、基本命令)
该博客文章提供了Linux系统中基本命令的使用记录,包括文件和目录操作、Redis服务管理、MySQL数据库操作以及Tomcat服务器的启动和检查。
Linux学习记录---(1、基本命令)
|
1天前
|
安全 Linux 开发者
Linux笔记之ldd命令详解
`ldd`命令是Linux环境下一个非常实用的工具,用于显示一个程序运行时所需的共享库依赖。它帮助开发者和系统管理员快速诊断程序运行问题,特别是在处理"找不到库文件"或者"错误的库文件版本"等错误时。然而,出于安全的考虑,对于不信任的可执行文件,应该慎用 `ldd`命令,可以考虑使用其他工具如 `objdump`。总的来说,懂得如何妥善且安全地使用 `ldd`,对于维护一个稳定和高效的Linux系统来说,是非常重要的。
15 9
|
2天前
|
Linux Shell
linux命令
linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。linux命令在系统中有两种类型:内置Shell命令和Linux命令。