linux进程挂掉后,可以通过配置 systemd 来自动启动服务
1.创建 systemd 服务文件,例如:huyang.service,需要放置在系统文件夹 /etc/systemd/system
2.编辑文件,填写详细信息
3.操作 systemd 服务
[Unit]
Description=huyang SCRS server # 对服务的描述
After=network.target # 指该服务需要在网络服务启动后,再启动 [Service]
Type=simple # 表示该服务是一个简单的进程
WorkingDirectory=/opt/eloamwss # 服务所在文件夹
ExecStart=/opt/eloamwss/start.sh # 服务启动命令
ExecStop=killall eloamwss # 服务停止命令
Restart=always # 不管什么原因,都会重启
RestartSec=3                     # 重启间隔时间3秒 [Install]
WantedBy=multi-user.target
# 拷贝 huyang.service 到 系统文件夹
cp huyang.service /etc/systemd/system/huyang.service # systemd 服务操作命令
sudo daemon-reload # 重新加载 systemd 的配置
sudo systemctl start huyang.service # 启动 systemd 服务
sudo systemctl stop huyang.service # 停止 systemd 服务
sudo systemctl enable huyang.service # 开机自启动
sudo systemctl disable huyang.service # 关闭开机自启动
sudo systemctl status huyang.service # 查看服务状态
报错排查问题方法
可以通过 获取服务状态 来排查问题(sudo systemctl status huyang.service)
# 报错:Service lacks both ExecStart= and ExecStop= setting. Refusing.
service文件里面有 ExecStart 但是没有 ExecStop,所以我加上了 ExecStop,就好了 # 报错:Unit huyang_SCRS.service is not loaded properly: 无效的参数
我的 ExecStart 使用 shell 脚本来启动的,我也试了直接终端运行 shell 都是成功的,后面发现是 sh 文件不标准,第一行要加入:#!/bin/sh

Linux程序崩溃自启动方法的更多相关文章

  1. 【Crash】C++程序崩溃排查方法

    windows下C++程序release版本崩溃错误排查方法. 一个你精心设计的24小时不间断运行,多线程的程序,突然运行了几个月后崩了,此问题是非常难以排查的,也是很头疼的问题. 现利用Google ...

  2. CentOS 程序开机自启动方法总结

    1.把启动程序的命令添加到/etc/rc.d/rc.local文件中 CentOS系统下管理开机自启动的配置文件是/etc/rc.d/rc.local,所以只需编辑这个文件,在里面加入相应的启动命令即 ...

  3. linux下mycat自启动方法

    每次开机都要启动mycat,网上看了好多都是用shell脚本来实现mycat开机自启动,后来看到一种方法,直接修改系统文件来实现,已经实践过,方法有效. 1.修改脚本文件rc.local:vim /e ...

  4. QT的程序开机自启动方法

    /home/fa/.config/lxsession/LXDE/autostart文件最后添加脚本

  5. 让linux中的程序崩溃时生成core文件

    当我们的linux程序崩溃的时候,常常会有这样的提示:    Segmentation fault (core dumped)    段错误 (核心已转储)    提示说生成了core文件,但是此功能 ...

  6. linux程序自启动和新建linux服务的方法

    1 linux创建自启动程序    自启动的两种方法,都经过自己测试.1.1 自启动程序方法1:    在etc/rc.local在里面加入/home/robin/code/autoruntest & ...

  7. Linux下程序崩溃,ulimit,coredump,gdbserver

    操作系统:Ubuntu10.04 前言:    在程序崩溃后,如何快速定位问题.    以下方法适用于开发调试阶段,不太适用成品.    本文着眼于嵌入式,PC方面更简单.    核心:gdbserv ...

  8. Linux替换动态库导致正在运行的程序崩溃

    在替换so文件时,如果在不停程序的情况下,直接用 cp new.so old.so 的方式替换程序使用的动态库文件会导致正在运行中的程序崩溃.解决的办法是采用“rm+cp” 或“mv+cp” 来替代直 ...

  9. 水火难容:同步方法调用async方法引发的ASP.NET应用程序崩溃

    之前只知道在同步方法中调用异步(async)方法时,如果用.Result等待调用结果,会造成线程死锁(deadlock).自己也吃过这个苦头,详见等到花儿也谢了的await. 昨天一个偶然的情况,造成 ...

  10. Windbg抓取程序崩溃的dmp文件的方法

    Windbg抓取程序崩溃的dmp文件的方法 一.        简介 windbg是在windows平台下,强大的用户态和内核态调试工具.相比较于Visual Studio,它是一个轻量级的调试工具, ...

随机推荐

  1. 【Azure Fabric Service】Service Fabric 托管群集通过 Connect-ServiceFabricCluster 连接时候报错 CertificatedNotMatched

    问题描述 Service Fabric 托管群集, 使用Key Vault中证书,把证书导入到本地安装后,使用该证书的 Thumbprint 作为指令 Connect-ServiceFabricClu ...

  2. 【Azure 应用服务】如何禁止chinacloudsites.cn 访问?

    问题描述 Azure App Service创建后,默认会有一个  Azure App Service创建后,默认会有一个 https://xxxxxxxxxxxxx.chinacloudsites. ...

  3. STL-vector模拟实现

    #pragma once #include<assert.h> #include<iostream> using std::cout; using std::endl; usi ...

  4. linux网络编程基础知识汇总(更新中)

    阿帕网 arpanet 阿帕网为美国国防部高级研究计划署开发的世界上第一个运营的封包交换网络,它是全球互联网的始祖. 局域网 LAN(Local Area Network ):通过路由器和交换机把计算 ...

  5. C#拾遗补漏之goto跳转语句

    前言 在我们日常工作中常用的C#跳转语句有break.continue.return,但是还有一个C#跳转语句很多同学可能都比较的陌生就是goto,今天大姚带大家一起来认识一下goto语句及其它的优缺 ...

  6. 一些shell脚本

    1.判断目录是否为空 DIRECTORY=$1 #在此加上是不是目录的判断. if [ "ls -A $DIRECTORY" = "" ]; then echo ...

  7. Codeforces Round #848 (Div. 2) A~F 题解

    A. Flip Flop Sum 能换 \(-1,-1\) 就换,不能能换 \(1,-1\) 或 \(-1,1\) 也可以,否则只能换 \(1,1\). B. The Forbidden Permut ...

  8. 【开源库推荐】#5 Android高亮引导库

    原文:[开源库推荐]#5 Android高亮引导库 - Stars-One的杂货小窝 本文介绍2个高亮引导库HighLightPro和Curtain hyy920109/HighLightPro: A ...

  9. 【stars-one】星念音乐下载器

    一款可将各个音乐网站可在线播放的音乐保存到本地的软件,目前暂且支持网易云音乐 获取软件 星念音乐下载器pc版v1.5 https://www.ilanzou.com/s/CI7zaWz 星念音乐下载器 ...

  10. MySQL 如何以当前日期时间作为字段初始默认值?

    1.以当前时间作为默认值 使用 DEFAULT CURRENT_TIMESTAMP 声明字段,插入记录时不用指定 dt,自动置入当前时间 CREATE TABLE t1 ( dt DATETIME D ...