这篇文章主要介绍“Linux怎么将任务进行前后台切换”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Linux怎么将任务进行前后台切换”文章能帮助大家解决问题。
Linux 是一个多任务的操作系统, 在同一时间,系统可以运行多个任务。
当我们使用Node或者Flask运行一个进程时, 该进程会占用终端。
例如:
# python cutword.py
* Serving Flask app 'cutword' (lazy loading)
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: off
* Running on all addresses.
WARNING: This is a development server. Do not use it in a production deployment.
* Running on http://10.150.39.18:7776/ (Press CTRL+C to quit)
我们可以在命令后加上 & 符号,将进程切换到后台。
例如:
# nohup python cutword.py >/dev/null 2>&1 &
[1] 30979
nohup
的用途是不挂断地运行命令。
无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。
如果让程序始终在后台执行,即使关闭当前的终端也执行(&
做不到),这时候需要nohup
。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。
>/dev/null 2>&1
是将标准输出和错误输出都忽略。
最后的&
将进程在后台运行。
[1] 30979
分别表示后台任务编号和进程ID。
我们可以使用jobs
命令查看在后台运行的进程列表信息。
# jobs
[1]+ 运行中 nohup python cutword.py > /dev/null 2>&1 &
当终端关闭后,在另一个终端jobs是无法看到后台任务列表的,此时利用ps(进程查看命令)
# ps -aux | grep "cutword.py"
我们可以使用 fg %后台编号
将指定进程切回前台运行。
# fg %1
nohup python cutword.py > /dev/null 2>&1
我们会发现,这时程序会一直卡在终端。这时,我们可以使用 ctrl+z
将它再次切到后台运行。
# fg %1
nohup python cutword.py > /dev/null 2>&1
^Z
[1]+ 已停止 nohup python cutword.py > /dev/null 2>&1
但是,我们会发现,进程变成了 stopped 的状态,我们也可以在后台进程列表里看到它的状态。
这也是 ctrl+z
命令的特点:将进程切换到后台,并停止运行。
如果我们想让它恢复运行,我们就可以使用 bg
命令了。
# bg %1
[1]+ nohup python cutword.py > /dev/null 2>&1 &
如果我们想杀死某个后台进程,我们可以使用 kill
命令。
kill 命令的用法有两种:
kill pid
kill %N
例如,我们想杀死后台编号为1的进程,可以这样:
# kill %1
# jobs
[1]+ 已终止 nohup python cutword.py > /dev/null 2>&1
关于“Linux怎么将任务进行前后台切换”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注亿速云行业资讯频道,小编每天都会为大家更新不同的知识点。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。