【Linux】nohup后台运行程序并打印日志

简介: 在/home/coggle目录下在你英文昵称(中间不要有空格哦)的文件夹中创建一个sleep.py文件,该文件需要完成以下功能:程序一直运行每10秒输出当前时间

任务7:在Linux系统中后台运行应用程序,并打印日志

任务要点:程序后台运行,进程管理


步骤1:sleep.py文件

在/home/coggle目录下在你英文昵称(中间不要有空格哦)的文件夹中创建一个sleep.py文件,该文件需要完成以下功能:程序一直运行每10秒输出当前时间

# !/usr/bin/python3
## -*- f=coding:utf-8 -*-
import time
while True:
    cur_time = time.localtime(time.time())
    print(time.strftime("%Y-%m-%d %H:%M:%S",cur_time))
    time.sleep(10)

运行python3 sleep.py命令会打印时间:

image.png


步骤2:学习nohup后台执行的方法

(1)https://blog.csdn.net/a736933735/article/details/89577557

(2)http://ipcmen.com/jobs

使用nohup会进入后台运行程序,可以通过cat查看对应的日志文件:

andy@ubuntu:~/coggle/andyguo$ nohup python3 -u sleep.py > file.txt &
[1] 4625
andy@ubuntu:~/coggle/andyguo$ nohup: ignoring input and redirecting stderr to stdout
cat file.txt
2021-11-20 17:13:02
2021-11-20 17:13:12
2021-11-20 17:13:22
2021-11-20 17:13:32
2021-11-20 17:13:42
2021-11-20 17:13:52

然后可以kill掉刚才的进程了,可以通过ps -u查看当前所有进程的信息(报错经常pid、占用cpu,占用内存等信息),比如下面知道进程pid为4625后直接kill掉:

andy@ubuntu:~/coggle/andyguo$ ps -u
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
andy        1716  0.0  0.3 172652  6336 tty2     Ssl+ 17:04   0:00 /usr/lib/gdm3/gdm-x-session --run-scr
andy        1720  0.7  3.2 287404 65240 tty2     Sl+  17:04   0:04 /usr/lib/xorg/Xorg vt2 -displayfd 3 -
andy        1769  0.0  0.7 199236 15284 tty2     Sl+  17:04   0:00 /usr/libexec/gnome-session-binary --s
andy        1850  0.0  0.0      0     0 tty2     Z+   17:04   0:00 [fcitx] <defunct>
andy        2254  0.0  0.2  19512  4888 pts/0    Ss   17:05   0:00 bash
andy        4625  0.0  0.3  24032  7416 pts/0    S    17:13   0:00 python3 -u sleep.py
andy        4631  0.0  0.1  20132  3268 pts/0    R+   17:14   0:00 ps -u
andy@ubuntu:~/coggle/andyguo$ kill 4625

步骤3:学习tmux的使用

将步骤1的程序进行后台运行,并将输出结果写入到txt文件。


tmux new -s mysession创建一个新窗口,之后命令和步骤2一样。


不过我报错如下了,说缺少或不适合终端,此处挖坑,可以参考Stack Overflow的讨论。

andy@ubuntu:~/coggle/andyguo$ tmux new -s mysession
open terminal failed: missing or unsuitable terminal: xterm-256color
相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
8月前
|
JSON 缓存 测试技术
程序出错瞎找?教你写“会说话”的错误日志,秒定位原因
错误日志是排查问题的“导航地图”。本文详解错误三大来源:参数非法、交互故障、逻辑疏漏,并分享写好日志的6大原则——完整、具体、直接、集成经验、格式统一、突出关键字,助你快速定位问题,提升系统可维护性。
589 0
|
10月前
|
监控 Linux 应用服务中间件
linux查看日志文件tail -f用法
在 Linux 中,查看和监控日志文件是系统管理员和开发者常用的操作之一。tail 命令就是用来查看文件内容的,它默认显示文件的最后部分。tail -f 是 tail 命令的一个非常有用的选项,用于实时查看和跟踪日志文件的更新,尤其是在监控运行中的服务时非常有用。
1252 0
|
监控 Shell Linux
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。
|
存储 运维 监控
Linux--深入理与解linux文件系统与日志文件分析
深入理解 Linux 文件系统和日志文件分析,对于系统管理员和运维工程师来说至关重要。文件系统管理涉及到文件的组织、存储和检索,而日志文件则记录了系统和应用的运行状态,是排查故障和维护系统的重要依据。通过掌握文件系统和日志文件的管理和分析技能,可以有效提升系统的稳定性和安全性。
424 7
|
监控 安全 Linux
启用Linux防火墙日志记录和分析功能
为iptables启用日志记录对于监控进出流量至关重要
577 1
|
监控 Linux 开发者
如何在 Linux 中优雅的使用 head 命令,用来看日志简直溜的不行
`head` 命令是 Linux 系统中一个非常实用的工具,用于快速查看文件的开头部分内容。本文介绍了 `head` 命令的基本用法、高级用法、实际应用案例及注意事项,帮助用户高效处理文件和日志,提升工作效率。
473 7
|
监控 网络协议 安全
Linux系统日志管理
Linux系统日志管理
684 3
|
运维 Java Linux
Linux 下命令后台运行秘籍:无惧终端断开的魔法
本文详细介绍了在 Linux 系统下使命令不受终端断开影响、持续在后台运行的多种方法及其原理。包括使用 `nohup`、`setsid`、括号括起来、作业调度和 `screen` 等技巧,帮助读者提高工作效率,确保任务不被意外中断。
1099 0
Linux 下命令后台运行秘籍:无惧终端断开的魔法
|
监控 Linux 测试技术
Linux系统命令与网络,磁盘和日志监控总结
Linux系统命令与网络,磁盘和日志监控总结
263 1
|
监控 Linux 测试技术
Linux系统命令与网络,磁盘和日志监控三
Linux系统命令与网络,磁盘和日志监控三
252 0