centos后台运行程序

dandan2年前程序开发4232

通过远程shell工具连上服务器,运行程序后,如果关闭工具,进程也会被结束。所以采用systemctl方式运行


1、创建运行用户

adduser newUserName


2、编辑service脚本,比如myapp.service(可以给程序新建一个目录,比如放到/opt/app)

[Unit]
Description=myApp Service
After=network.target

[Service]
ExecStart=/opt/app/myApp
WorkingDirectory=/opt/app
User=newUserName
Group=newUserName
Restart=always
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=myApp

[Install]
WantedBy=multi-user.target


3、将该文件移动到系统服务目录

cp myapp.service /etc/systemd/system/


4、重载配置

systemctl daemon-reload


5、启动

systemctl start myapp


其他命令:

systemctl start servicename:启动服务。
systemctl stop servicename:停止服务。
systemctl restart servicename:重启服务。
systemctl enable servicename:设置服务为开机自启动。
systemctl disable servicename:取消设置服务为开机自启动。
systemctl status servicename:查看服务的状态。
journalctl -u servicename:查看服务的日志。


相关文章

rem解决笔记本访问网站内容被放大的问题

一般win系统的笔记本,出厂默认就是系统缩放150%,导致虽然分辨率是1920*1080,可浏览器的视口宽度却只有1200多,整个页面内容也被放大了,导致页面混乱。mac m1笔记本也同样,分辨率不同...

宝塔ftp连不上

1、先检查端口是否有开放,涉及宝塔端口 和 云服务器的安全组;2、对Pure-ftpd的配置文件中,大概180来行的ForcePassiveIP  开放,并且把ip改成服务器的外网ip;...

MQTT协议使用

服务端因为使用的发布/订阅模式,似乎不需要自己写服务端,只要安装现成开源服务器即可,这里选了EMQX#到官网,选择服务器版本,下载安装,已centos7为例: #下载源码包 wget h...

mac m1使用docker mysql踩坑

1、etcd版本用3.4.242、mysql镜像要用:mysql/mysql-server:8.0.323、mysql因为是8的版本,启动后本地没权限连接,需要进容器创建用户和添加权限:# ...

go-zero中使用jaeger链路追踪

go-zero中使用jaeger链路追踪

链路追踪分两块:(1)框架内置的,通过配置实现,一般都在api、rpc等中间件中,粗浅理解是请求级;(2)自定义的,可以定义到函数里,粗浅理解可以自己写代码级的,也就是可以跟踪每个函数方法的执行时间;...

linux安装go环境

1、在 https://go.dev/dl/  下载linux的包2、上传到服务器,解压,比如放到/opt后,执行下命令,解压到当前目录得到go文件夹tar -xzf&n...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。