Linux 运行、查看、关闭后台程序的命令

之前写了一篇爬取Bing首页的爬虫,每天都需要运行爬取,这马上要回家过年了,电脑又不是每天都开着了,于是乎想着在云服务器上运行python程序,这是之前写的在Centos7云服务器中下载并安装的Anaconda3 Python,现在就想着怎么让程序挂在后台运行了,好记性不如烂笔头,找资料总结记录一下。


速查菜单

命令说明
&将当前命令以后台的形式运行
nohup隔离终端挂断信号,是命令的前缀
ctrl+z将前台任务转后台并冻结
bg将后台冻结的任务再次运行起来
fg将后台任务重新转前台执行
jobs查看在后台运行的任务列表
ps查看正在运行的进程信息
kill杀掉某个进程

详解

假设现在有一个名为main.py的python程序,且该程序的权限为可执行的

1. &

后台运行,但关闭窗口后,也会终止运行程序

python main.py &

2. nohup

在1.的基础上,在命令的前面加上nohup,可实现不挂断的运行

nohup python main.py &

这里出现了下面这个提示,不用管它,直接敲回车

#nohup:忽略输入并将stderr重定向到stdout
nohup: ignoring input and redirecting stderr to stdout

3. ctrl+z

将前台的程序转入后台并暂停运行

4. bg

将后台冻结的任务再次运行起来
注意:这里的id是通过jobs命令查看得到的

bg id

5. fg

将后台进程转至前台运行
注意:这里的id是通过jobs命令查看得到的

fg id

6. jobs

查看当前终端后台运行的任务,直接输入命令就行

jobs

7. ps

查看当前的进程,直接输入命令就行

ps

与jobs的区别:jobs只能查看当前终端里的进程,ps可以查看其他终端中的进程,ps有以下参数
ps -aux|grep “text.sh” a:(all)显示所有进程 u :以用户为主的格式 x : 所有的进程不以终端区分

常使用以下这种格式,解释说明:e:表示列出所有进程,f:表示输出完整格式,grep hzqtest:表示过滤筛选“python”关键字。

ps -ef |grep python

8. kill

先用jobs查看进程,获得它的jobsID,注意在那个%是需要的

kill -9 %jobsID

先用ps查看进程,获得它的PID

kill -9 PID

非常感谢以下博文
参考博文:
在linux后台运行脚本命令和程序的方法大全
Linux 下后台运行程序,查看和关闭后台运行程序
Linux前后台运行命令及切换
Linux下程序后台运行:nohup和&

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值