ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

ubuntu将某个可执行文件设为开机自启动

ubuntu将某个可执行文件设为开机自启动 ubuntu系统中将某个可执行文件设为开机自启动并且每隔20s检测一次该进程是否挂掉如果挂掉要重启进程。并且为了以后调试不产生冲突要能够方便地关掉和重启这项自启动。使用 systemd 的Restartalways最推荐最简单这是最原生、最简洁的方法。systemd 本身就能监控进程只要主进程退出挂掉它就会自动重启。操作步骤如下1. 创建 systemd 服务单元文件创建一个新的服务文件例如/etc/systemd/system/myapp.serviceini[Unit] DescriptionMy Application Service Afternetwork.target [Service] Typesimple # 将下面的路径替换为你的可执行文件的实际路径 ExecStart/path/to/your/executable# 设置工作目录如果程序需要加载同目录下的配置文件 WorkingDirectory/path/to/your/executable/Restartalways # 进程挂掉后等待 20 秒再重启 RestartSec20 # 取消重启次数限制确保无限次尝试重启 StartLimitInterval0 [Install] WantedBymulti-user.targetRestartalways只要进程不是通过systemctl stop正常停止的都会自动重启。RestartSec20指定了在重启前等待 20 秒。StartLimitInterval0禁用重启频率限制防止 systemd 因频繁重启而停止尝试。2. 重新加载 systemd 并启用服务bash# 重新加载 systemd使其识别新的服务文件 sudo systemctl daemon-reload # 设置服务开机自启 sudo systemctl enable myapp.service # 立即启动服务 sudo systemctl start myapp.service3. 管理服务满足“方便地关掉和重启”需求启动服务sudo systemctl start myapp.service停止服务sudo systemctl stop myapp.service(这个命令会停止服务并且不会触发自动重启)重启服务sudo systemctl restart myapp.service查看状态sudo systemctl status myapp.service关闭开机自启sudo systemctl disable myapp.service再次开启开机自启sudo systemctl enable myapp.service查看日志sudo journalctl -u myapp.service -f编辑服务文件sudo systemctl edit --full 你的服务名.service
返回列表