首页 > 系统相关 > Linux运行服务的几种方式

Linux运行服务的几种方式

时间:2023-01-16 18:00:38浏览次数:36  
标签:服务 screen 几种 session nohup Linux yourname app 运行

摘要

1. nohup &
2. screen
3. bg & disown
4. systemd
5. crontab @reboot

背景

最近一直在用linux
想着多总结一下.
因为服务运行的方式比较多, 想着也能够多总结一下
便于后面的问题处理

nohup 的方式

nohup 是最简单的一种启动服务的方式
nohup 的含义在于防止被终端. 
& 的方式是将服务放在后台运行
所以一般的方式为:
nohup ./xxxx & 
shell关了,后者是网络终端还会继续运行.

screen的方式

yum install screen -y
可以使用  screen 的命令打开服务窗口

screen -S yourname -> 新建一个叫yourname的session
screen -ls -> 列出当前所有的session
screen -r yourname -> 回到yourname这个session
screen -d yourname -> 远程detach某个session
screen -d -r yourname -> 结束当前session并回到yourname这个session

可以通过 screen -S zhaobsh 打开一个session 进行命令的输入
如果网络出问题. 这个服务还是会一直存在的. 避免网络终端导致问题.

bg & disown

有时候很多服务都是必须有交互才可以的. 
此时通过nohup的方式不太合适.
如果机器又不能上网, 此时使用 screen 可能比较麻烦
所以可以使用 
ctrl+z的方式暂时中断服务
然后根据反馈的任务号
通过 
bg %数字 
的方式进行设置服务后台运行. 
然后在使用
disown -h %数字 
可以讲这个服务与 当前的shell进程断掉联系. 
这样服务就从一个前台服务 变成了后台服务. 

systemd

可以添加一个 systemd的服务  基本上可以如图进行设置
一般位于 /etc/systemd/system/ 下面
比如可以建立一个文件为 app.service
可以使用 systemctl  enable app 设置开机自动启动
然后使用systemctl start app 来启动服务

[Unit]
Description=app

[Service]
LimitMEMLOCK=infinity
LimitNOFILE=65535
WorkingDirectory=/app
Restart=always
Type=forking
ExecStart=/app/startup.sh
ExecStop=/usr/bin/kill -15 $MAINPID

[Install]
WantedBy=multi-user.target

crontab

可以设置计划任务,开机自动动服务
比较简单. 
第一: systemctl status crond
需要保证计划任务是开启的. 
第二: 需要编写一套启动脚本比如
cat /etc/startredis <<EOF
cd /redis && ./redis-server /redis/redis.conf 
EOF
chmod 700 /etc/startredis

第三设置开机启动
crontab -e
增加一行配置
@reboot /etc/startredis

注意配置方式跟vim 是一样的
insert 进入输入模式
ESC 退出到命令模式
输入 :wq 保存并且退出.

标签:服务,screen,几种,session,nohup,Linux,yourname,app,运行
From: https://www.cnblogs.com/jinanxiaolaohu/p/17056035.html

相关文章

  • linux系统通过yum命令安装jdk
    在linux上查看jdk版本命令:java-version,如下图所示-bash:java:commandnotfound,说明没有安装jdk接下来执行yumsearchjava|grepjdk命令,查询可以安装的jdk版本rpm......
  • FaaS运行逻辑
    在Serverless出现之前,我们要部署这样一个应用的流程。首先为了运行我们的应用,我们要在服务端构建代码的运行环境:我们要购买虚拟机服务,初始化虚拟机运行环境,安装我们需要......
  • Linux文件上传下载--rz/sz命令
    原文地址:https://www.cnblogs.com/igoodful/p/14694038.html1.rz命令1.1命令简介rz命令(ReceiveZMODEM),使用ZMODEM协议,将本地文件批量上传到远程Linux/Unix服......
  • cita-sdk react16.9 依赖安装及运行问题经验记录
    运行环境查找选择node稳定版本发布时间,技术框架发布时间一致即可nodev10.18.0reactv16.9.0pythonv2.7.18安装cita-sdk一直报错上面两个错误一直循环报错,但最后......
  • linux科普:如何标准的安装和升级软件
     ● 什么是厂商和软件商:厂商:一般是指Centos、红帽、ubantu、suse等等,各linux发行版操作系统的发行厂家,厂家会维护系统的软件,做相应的测试、补丁发布、安全更新等软......
  • lazarus编译的服务端在linux运行时提示 #13:Permission denied [0.0.0.0@81]v4
    今天运行lazarus编译的服务端在银河麒麟linux运行时提示#13:Permissiondenied[0.0.0.0@81]v4原因:Linux只有root用户可以使用1024以下的端口解决方法:将81端口改为>1024......
  • Linux安装Python3
    Linux安装Python3安装依赖包首先安装gcc编译器,gcc有些系统版本已经默认安装,通过gcc--version查看,没安装的先安装gcc:yum-yinstallgcc安装其它依赖包yumins......
  • Linux服务管理,给JAR包封装为Linux服务
    操作服务的命令在Linux中管理服务,需要使用systemctl命令,例如常用的打开/关闭防火墙$systemctlstartfirewalld$systemctlstopfirewalld在这里列举一下systemctl......
  • 十一、十二(安装红帽Linux、运行容器)
    十一、安装红帽Linux     十三、运行容器                                  ......
  • 嵌入式 Linux 开发 7:编译应用程序
    编译与部署应用程序的流程交叉编译的Makefile依赖库程序库预定的位置是/lib如果将其放置在其他目录,这需要设定查找路径,即配置LD_LIBRARY_PATH环境变量。这会迫使......