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

用Ubuntu (Linux) 系统的screen命令启动服务,第1张

留此备查。

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命令

1. screen命令,创建一个执行shell的全屏窗口。键入exit退出自动切换到前一个窗口。

2. screen命令后跟你要执行的程序,如screen vi test.c,退出vi将退出该窗口/会话。

3. 在screen会话中创建新的窗口。在当前screen窗口中键入C-a c(Ctrl+a,之后再按c键)。

具体如下:

1、简介

Linux *** 作系统是基于UNIX *** 作系统发展而来的闭洞一种克隆系统,它诞生于1991 年的 [Linux桌面] 10 月5 日(这是第一次正式向外公布的时间)。以后借助于Internet网络,并通过全世界各地计算机爱好者的共同努力,已成为今天世界上使用最多的一种UNIX 类 *** 作系统,并且使用人数还在迅猛增长。

2、基本信息

Linux[2] *** 作系统是UNIX *** 作系统的一种克隆系统,它诞生linux系统于1991 年的10 月5 日(这是第一次正式向外公布的时间)。以后借助于Internet网络,并通过全世界各地计算机爱好者的共同努力,已成为今天世界上使用最多的芦态做一种UNIX 类 *** 作系统,并且使用人数还在迅猛增长。

3、分区规定

设备管理在 Linux 中,每一个硬件设备都映射到一个系陪衡统的文件,对于硬盘、光驱等,IDE 或 SCSI 设备也不例外。Linux 把各种 IDE 设备分配了一个由 hd 前缀组成的文件;而对于各种 SCSI 设备,则分配了一个由 sd 前缀组成的文件。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/8219114.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存