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

举报
野猪佩奇996 发表于 2022/01/23 01:27:30 2022/01/23
【摘要】 文章目录 任务7:在Linux系统中后台运行应用程序,并打印日志步骤1:sleep.py文件步骤2:学习nohup后台执行的方法步骤3:学习tmux的使用 任务7:在Linux系统中后台...

任务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)

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

运行python3 sleep.py命令会打印时间:
在这里插入图片描述

步骤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

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

然后可以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

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

步骤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

  
 
  • 1
  • 2

文章来源: andyguo.blog.csdn.net,作者:山顶夕景,版权归原作者所有,如需转载,请联系作者。

原文链接:andyguo.blog.csdn.net/article/details/121449361

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。