screen在linux系统上运行后台程序(Python)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了screen在linux系统上运行后台程序(Python),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2408字,纯文字阅读大概需要4分钟。
内容图文
![screen在linux系统上运行后台程序(Python)](/upload/InfoBanner/zyjiaocheng/930/0a6882e91bc747a9b030bb3abce08c56.jpg)
**重点:
使用screen命令可以实现当前窗口与任务分离,我们即使离线了,服务器仍在后台运行任务。当我们重新登录服务器,可以读取窗口线程,重新连接任务窗口。**
**主要功能:
会话恢复**
只要screen本身没有终止,在其内部运行的会话都可以恢复,鸡屎网络连接中断,用户也不会失去对已经打开的命令行会话的控制。
多窗口
在screen环境下,所有的会话都独立的运行,并拥有各自的编号、输入、输出和窗口缓存。
会话共享
screen可以让一个或多个用户从不同终端多次登录一个会话,并共享会话的所有特性(比如可以看到完全相同的输出),它同时提供了窗口访问权限的机制,可以对窗口进行密码保护。
screen的使用
1 安装screen
yum install screen 或 sudo apt-get install screen
2 新建窗口
新建一个窗口有3种方法
# 方法一
screen #这样就可以新建窗口,进入到一个窗口,但是这样窗口就没有名字,无法区分他们
# 方法二
screen -S name # 这样就新建一个名字为name的窗口,并进入到该窗口中
例如:screen -S sutools 新建了一个叫 sutools的窗口并进入
# 方法三
screen commend # 这样新建一个窗口并在窗口中执行 commend, 同样没有名字
例如:screen python ./mycode.py 新建并执行mycode.py程序
3 会话分离
我们在一个窗口运行某个程序之后,想退出登录关闭terminal干点别的事,让程序在后台执行。这时候就需要和敞口会话分离。有两种方法:
- 快捷键 CTRL + a 表示进入命令模式,在当前会话窗口按ctrl+a+d,这时候窗口会弹出[detached]提示,并回到主窗口。表示该程序已经被挂起。一般直接 CTRL+a +d 即可。
- screen -d name 远程detach某个session,前提是已经跳出了name窗口
4 恢复会话窗口
首先查看有哪些窗口正在进行
screen -ls #列出窗口列表
There are screens on:
34837.sutools (Detached)
screen -r 34837#进入3483756 线程,恢复sutools会话窗口
这样就能回到sutools窗口了。
5 杀死多余窗口
如果想关掉一个多余的窗口,有3种方法:
kill -9 threadnum # 例如在上面的34837,kill -9 34837即可杀死线程,当然就杀死了窗口
- 使用Ctrl a +k 杀死当前窗口和窗口中运行的程序
- 使用Ctrl a 然后输入quit命令退出Screen会话。需要注意的是,这样退出会杀死所有窗口并退出其中运行的所有程序(不建议!!!)
6 清除死去的窗口
当窗口被杀死后,再用screen -ls 可以看到该窗口后面的(???dead)字样,说明窗口死了,但是仍在占用空间。这时需要清除窗口
$ screen -wipe #自动清除死去的窗口
总结:
# 新建窗口 sutools
screen -S sutools
# 运行命令
python mucode.py
# 挂起 [detached]
ctrl + a + d
# 查看窗口列表
screen ls
# 恢复挂起的窗口
screen -r 34837
# 杀死指定窗口
kill -9 34837
# 清除死去的窗口
screen -wipe
本文参考:https://blog.csdn.net/Owen_goodman/article/details/112979222
转载请注明转自:https://blog.csdn.net/Owen_goodman/article/details/112979222
内容总结
以上是互联网集市为您收集整理的screen在linux系统上运行后台程序(Python)全部内容,希望文章能够帮你解决screen在linux系统上运行后台程序(Python)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。