linux服务器相关指令——后台运行进程

后台执行

nohup python -u test.py > test.log 2>&1 &
  • 其中 nohop 表示该进程不挂起
  • python test.py 表示执行test.py
  • -u 表示程序不启用缓存,直接将输出放到log中 (没有这个参数的话,log文件的生成会有延迟)
  • 其中 > test.log 表示将标准输出重定向到log文件中
  • 0 是标准输入(STDIN),1 是标准输出(STDOUT),2 是标准错误输出(STDERR)
  • 2>&1 表示将错误重定向到标准输出中
  • 最后一个&表示该命令在后台执行

查看进程

在同一终端窗口下,可直接使用

jobs -l

查看任务目前后台的进程
但是其支队当前终端生效,关闭终端后,在另一个终端中jobs则失效,此时利用ps命令,如下

ps -aux | grep train.py

在这里插入图片描述
ps命令的参数很多,这里简单介绍如下:

  • -A 列出所有进程
  • -w 显示加宽,可以显示更多的咨询
  • -aux 显示包括无终端(x)和针对用户(u)的进程,如USER, PID等,具体输出格式如下:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

每个字段说明如下:

  • USER: 进程拥有者
  • PID: pid
  • %CPU: 占用的 CPU 使用率
  • %MEM: 占用的记忆体使用率
  • VSZ: 占用的虚拟记忆体大小
  • RSS: 占用的记忆体大小
  • TTY: 终端的次要装置号码 (minor device number of tty)
  • STAT: 该行程的状态:
    • D: 无法中断的休眠状态 (通常 IO 的进程)
    • R: 正在执行中
    • S: 静止状态
    • T: 暂停执行
    • Z: 不存在但暂时无法消除
    • W: 没有足够的记忆体分页可分配
    • <: 高优先序的行程
    • N: 低优先序的行程
    • L: 有记忆体分页分配并锁在记忆体内 (实时系统或捱A I/O)
  • START: 行程开始时间
  • TIME: 执行的时间
  • COMMAND:所执行的指令

grep根据指定的进程关键字进行查找,例如

ps -ef | grep php

前后台切换

将编号为n的任务转到后台运行(此处n为任务编号,使用jobs查看)

bg %n

将编号为n的任务转前台运行

fn %n

暂停当前任务

ctrl+z

结束当前任务

ctrl+c

例如:如果想要将已经开始的任务移到后台,需要先使用ctrl+z将其暂停,而后使用jobs查看任务编号和进程号,使用bg将其放到后台,此时程序还是会随着shell的关闭而停止,另外添加nohup,使其忽略hangup信号:

nohup python test.py & 

参考链接

前后台切换综合:https://www.cnblogs.com/qq_841161825/p/9224064.html
nohup命令:https://www.cnblogs.com/douzujun/p/14054434.html
nohup和&后台运行,进程查看及终止https://www.cnblogs.com/baby123/p/6477429.html
ps命令详解:https://www.runoob.com/linux/linux-comm-ps.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值