问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

用Ubuntu (Linux) 系统的screen命令启动服务

发布网友 发布时间:2022-09-24 16:27

我来回答

1个回答

热心网友 时间:2023-01-22 03:43

留此备查。

screen命令类似于“虚拟桌面”的概念,可以启动一个Linux下的虚拟桌面,在其中可以和普通终端一样执行各种命令。

如果系统中没有screen命令,可以用 apt install screen 来进行安装。

screen命令的基本用法有:

screen 启动一个虚拟桌面

在启动后的虚拟桌面中,按Ctrl+a 然后d(注意这个过程中Ctrl一直按住,也就相当于Ctrl+a 然后Ctrl+d),可以从虚拟桌面返回之前的终端,此时如果虚拟桌面中还有命令或进程在执行,将继续执行,即使退出了这个终端也仍将继续执行。这样就实现了后台执行命令或服务。

如果再想要查看这个虚拟桌面中的情况,执行screen -r即可。

如果有多个screen虚拟桌面在执行中,可以用screen -ls列出所有的桌面,然后按照桌面开始的序号(例如是1234),执行screen -r 1234或screen -x 1234就可以进入该桌面查看,然后再用Ctrl+a,d命令组合退出桌面。

如果要真正退出虚拟桌面(结束该桌面及其中正在运行的进程),在桌面中用exit命令退出即可。

如果要给启动的虚拟桌面起一个名字,可以用类似 screen -S test 这样的命令,这将启动一个名为test的虚拟桌面,以后可以用screen -x test命令来进入查看。

如果想要一条命令用screen启动一个后台进程并且退出(保持后台运行,类似于服务进程),可以用类似下面的命令:

screen -dmS test top

这将启动一个 名为 test 的虚拟桌面,然后在其中执行top命令,然后退出该桌面。

这样,我们再结合Linux中的启动执行方法,就可以制作自己的服务进程了。

下面设置自启动脚本的方法启动仅供参考:

方法一:使用crontab

方法二:

很多时候需要Ubuntu在开机的时候执行一些指定的命令,这里对操作方法进行记录。

在 /etc/init.d/ 中创建自己的开机运行脚本

# 这里的文件名 mystart 可以修改为任何你喜欢的名称,但是必须放在/etc/init.d/目录中

cd /etc/init.d

sudo vim /etc/init.d/mystart.sh

写入需要执行的命令,

#!/bin/bash

### BEGIN INIT INFO

# Provides:          tuzixini

# Required-Start:    $local_fs $network

# Required-Stop:    $local_fs

# Default-Start:    2 3 4 5

# Default-Stop:      0 1 6

# Short-Description: self define auto start

# Description:      self define auto start

### END INIT INFO

# 上面的部分也必须写上,后面放上你需要开机执行的命令,这里是挂载一个硬盘

sudo mount /dev/sdb1 /opt/disk

修改脚本文件权限(将命令中的mystart.sh替换成实际的脚本文件名称)

sudo chmod 755 /etc/init.d/mystart.sh

加入开机启动(将命令中的mystart.sh替换成实际的脚本文件名称)

sudo update-rc.d mystart.sh defaults 90

ok,完成,后面系统启动的时候就会自动运行这段命令。

下面是另一段参考:

第一步、先建立screen name

shell>screen -dmS test

第二步、发送要执行的命令

shell>screen -r test -p 0 -X stuff "top"

第三步、发送一个回车符,让top命令运行起来

shell>screen -r test -p 0 -X stuff $'\n'

参数说明:

-r 恢复/进入一个screen

-p 0 指定第一个(从0开始)window,一个screen里可以有几个window,这里只需要指定第一个,不然会在某些情况下不生效。

-X 执行一个指定的screen支持的command

stuff 是-X的第一个参数,也是screen支持的一个command,意思是粘贴一个string

"top" 是粘贴的string 内容

$'\n' 是粘贴一个回车符进去,以此来执行screen里面的top命令
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
历史要怎么读,有啥诀窍 高中历史诀窍 年终会活动策划方案 深度解析:第一财经回放,探索财经新风向 逆水寒手游庄园怎么邀请好友同住 逆水寒手游 逆水寒不同区可以一起组队吗? 逆水寒手游 逆水寒怎么进入好友世界? 逆水寒手游 逆水寒怎么去别人的庄园? 使用puppeteer实现将htmll转成pdf 内卷时代下的前端技术-使用JavaScript在浏览器中生成PDF文档 清明是什么诗 你好,宫内膜的厚度是多少为正常? 台式机水冷好还是风冷好 课堂上如何做好英语教学 福温馨的周末祝福语 宫野明美和赤井秀一发生关系了么? 美剧风-柯南同人文-赤井秀一&宫野明美-狂想曲(上) 第八章:全面回忆 柯南里的赤井秀一真的喜欢明美的吗,他们两人的关系到底肿么回事 = = ? 名侦探柯南中赤井秀一与宫野明美是怎么认识的,在哪一集中有讲述到 赤井秀一和宫野明美到底是什么关系 名侦探柯南中的宫野明美与赤井秀一是什么关系? 三伏天养生秘笈 一份满意的答卷作文600字 iphone6怎么把手机铃声修改 用手机怎么改iphone6铃声 免费不限时玩云游戏的软件 有的我不想要了,怎么能删除掉? 手机不用的怎样删除 Lost Boys Calling歌词翻译 格力多联机代码01 AC AO是什么代码- 问一问 求一个曾姓的男孩的名字,谢谢各位大神! 高仿苹果手机为什么用真苹果的充电器充不了电呢,不过显示在充电但充不了 西单买的仿苹果夹子mp3充电问题 我的仿iphone刚充手机店里换了电池,结果电用完了再冲就自动关机打不开了,显示在充电,却没有充上电,为啥 高仿苹果5s显示在充电充不进电怎样回事 银行存款佘额调节表 《QQ飞车》手游男生衣服怎么搭配 男性服饰高分搭配 qq飞车男的怎么搭配时装好看,把名字告诉我。 火山岩石锅烧糊了有没有毒 火山溶岩石有毒吗,能当腌菜压石用吗 火山石种出的蔬果有害吗 九珍姐妹是什么意思 九个姐妹仙女她们的原形是狐理电视剧 华为手机图标丢失怎么恢复? 啥瓦那是哪个国家的 什么副业最赚钱? 什么平台,一天能接多少单?最多能赚多少钱 经销商加盟码客联盟产品可以赚多少钱? 武汉文理学院2021录取分数线 武汉文理学院医学院怎么样- 问一问