【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实时生图绘板
相关文章
|
5月前
|
监控 Linux 应用服务中间件
linux查看日志文件tail -f用法
在 Linux 中,查看和监控日志文件是系统管理员和开发者常用的操作之一。tail 命令就是用来查看文件内容的,它默认显示文件的最后部分。tail -f 是 tail 命令的一个非常有用的选项,用于实时查看和跟踪日志文件的更新,尤其是在监控运行中的服务时非常有用。
737 0
|
存储 监控 安全
在Linux中,如何进行日志审计?
在Linux中,如何进行日志审计?
|
9月前
|
监控 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) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。
|
12月前
|
存储 运维 监控
Linux--深入理与解linux文件系统与日志文件分析
深入理解 Linux 文件系统和日志文件分析,对于系统管理员和运维工程师来说至关重要。文件系统管理涉及到文件的组织、存储和检索,而日志文件则记录了系统和应用的运行状态,是排查故障和维护系统的重要依据。通过掌握文件系统和日志文件的管理和分析技能,可以有效提升系统的稳定性和安全性。
293 7
|
12月前
|
监控 安全 Linux
启用Linux防火墙日志记录和分析功能
为iptables启用日志记录对于监控进出流量至关重要
410 1
|
监控 Linux 开发者
如何在 Linux 中优雅的使用 head 命令,用来看日志简直溜的不行
`head` 命令是 Linux 系统中一个非常实用的工具,用于快速查看文件的开头部分内容。本文介绍了 `head` 命令的基本用法、高级用法、实际应用案例及注意事项,帮助用户高效处理文件和日志,提升工作效率。
284 7
|
监控 网络协议 安全
Linux系统日志管理
Linux系统日志管理
424 3
|
缓存 NoSQL Linux
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
334 1
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
|
存储 监控 Linux
在Linux中,如何进行日志审计?
在Linux中,如何进行日志审计?
|
Ubuntu Linux Apache
在Linux中,如何使用logrotate命令管理日志文件?
在Linux中,如何使用logrotate命令管理日志文件?