rc.local脚本延时启动

news2024/11/28 10:59:28

rc.local脚本延时启动

  • 1、问题描述
  • 2、解决方法
  • 3、rc.local脚本依赖关系的处理
    • 3.1、对脚本进行分类,分别设置延时启动策略
  • 4、测试重启rc-local.service
  • 5、rc.local脚本执行特点
    • 5.1、rc.local脚本在操作系统启动时只执行一次。
    • 5.2、在rc.local脚本中执行程序时是没有环境变量的,如果执行的程序需要环境变量,需要在脚本中设置环境变量。
    • 5.3、rc.local是一个脚本,是按顺序执行的,执行完一个程序后才会执行下一个程序,如果某程序不是后台程序,就应该加&让程序运行在后台,否则rc.local会挂起。
      • 5.3.1、下图中①执行时docker服务还没起来,所以①不能执行。
      • 5.3.2、一个脚本挂起的例子

1、问题描述

操作系统:CentOS Linux 7 (Core)
rc.local 放置了不同的自启动脚本,它们所依赖的服务也是不同。
在centos7上遇到问题:rc.local中的一个脚本依赖于docker 服务,但是开机后并没有运行这个脚本。systemctl status rc-local.service 查看是这个脚本运行所依赖的docker 服务没有运行,但docker服务是设置开机自启的。推测是这个脚本运行时docker服务还没自起来。
在这里插入图片描述

2、解决方法

在rc.local依赖于docker服务的脚本中添加延时
sleep xxx
实测sleep 60不行,slepp 180可以

3、rc.local脚本依赖关系的处理

3.1、对脚本进行分类,分别设置延时启动策略

由于rc.local中有多个脚本,每个脚本可能依赖的服务不尽相同。
最低限度要分门别类进行管理,对依赖于docker服务的所有脚本设置统一的延时启动策略。
对依赖于另一个服务的所有脚本设置另一个延时策略。

4、测试重启rc-local.service

开机时没有rc-local.service起来
在这里插入图片描述
对应的脚本启动的服务也没有运行
在这里插入图片描述
重启rc-local.service 会自动运行rc.local配置的所有脚本
在这里插入图片描述
对应的脚本启动的服务已经运行
在这里插入图片描述

5、rc.local脚本执行特点

5.1、rc.local脚本在操作系统启动时只执行一次。

适合执行开机时需要自启动的任务,周期行的任务需要使用cron脚本去触发执行。

5.2、在rc.local脚本中执行程序时是没有环境变量的,如果执行的程序需要环境变量,需要在脚本中设置环境变量。

如果脚本运行需要环境变量,则需要在脚本中设置,否则脚本会运行失败。
在这里插入图片描述

5.3、rc.local是一个脚本,是按顺序执行的,执行完一个程序后才会执行下一个程序,如果某程序不是后台程序,就应该加&让程序运行在后台,否则rc.local会挂起。

5.3.1、下图中①执行时docker服务还没起来,所以①不能执行。

顺序运行体现在:
②可以执行,②也是依赖docker服务,但经过sleep 60后docker已经起来了,所以②可以执行。
在这里插入图片描述

注意:
不要让一个脚本挂起,挂起意味着这个脚本后面的脚本都不能执行了。
如下图所示,把每个脚本的标准错误和标准输出重定向,并后台执行每个脚本。
在这里插入图片描述

5.3.2、一个脚本挂起的例子

在脚本中写了while死循环,然后因为一个判断条件一直不能满足,导致循环卡死,图示已经执行了7176次循环。这个不仅影响本脚本不能正常启动。
还有重大影响的是本脚本后面的所有脚本均不能执行。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/423288.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

人工智能专题-知识表示

文章目录人工智能专题-知识表示大纲2.1 知识表示的概念2.1.1 知识表示观点2.1.2 知识表示的要求2.2 一阶谓词逻辑表示法2.2.1 一阶谓词概念2.2.2 谓词逻辑表示方法2.3 产生式表示法2.4 语义网络表示法2.5 框架表示法人工智能专题-知识表示 大纲 大纲:掌握知识表示方…

jenkins——环境变量、节点配置以及节点环境变量的使用

这里写目录标题一、Jenkins 环境变量1、环境变量分类a、系统内置环境变量b、用户自定义环境变量2、环境变量的使用3、控制台输出二、Jenkins 节点配置1、Jenkins的常用节点2、准备工作3、SSH类节点配置4、Java web节点配置5、Java web节点配置详细步骤三、Jenkins 节点环境变量…

“三箭齐发”,诸葛智能三大产品全新升级,助力企业迈向数字化经营 | 爱分析调研

调研:文鸿伟 撰写:文鸿伟 诸葛智能,是容联云旗下敏捷开放的场景化数据智能服务商,累积服务全国1000企业,覆盖泛互联网、泛电商、金融、汽车、产业科技、企服等数十个垂直领域。 自2015年成立至今,诸葛智…

HTML5 <li> 标签、HTML5 <legend> 标签

HTML5 <li> 标签 实例 HTML5 <li>标签用于表示文档中列表的项目&#xff0c;在下述例子中&#xff0c;我们分别在有序列表和无序列表中使用了<li>标签。 HTML 两个列表实例&#xff1a; 一个有序列表 (<ol>) 和 一个无序列表 (<ul>) : <ol…

机器学习入门实例-加州房价预测-2(数据整理)

计算相关性 使用corr()计算standard correlation coefficient&#xff08;Pearson’s r&#xff09;。矩阵不是很方便观察&#xff0c;可以直接排序median_house_value列&#xff0c;可以看出median_house_value与median_income的相关性挺大的。 corr_matrix visual_data.cor…

pdf 批量翻译-批量翻译照片

实现英语批量翻译通常需要使用机器翻译技术和程序编程知识。 下面是一些主要步骤&#xff1a; 选择机器翻译API&#xff1a;选择一种适合你的需求的机器翻译API&#xff0c;比如Google Translate API、Microsoft Translate API或者百度翻译API等。 注册API服务&#xff1a; 注…

721 Chapter3 MVCC(设计trade-off)

MVCC核心概念 1.读写互相不阻塞对方 2.读事务可以读一致性快照 3.支持时间旅行&#xff0c;也就是读过去的快照 但是存在写倾斜的问题。Write Skew Anomaly. 所以就MVCC到达不了serizable MVCC实现 MVCC time order 就靠原子操作CAS来check是否有人在写入&#xff0c;同时…

【Docker】通过dockerfile构建Nginx镜像部署多Web应用

【Docker】Docker安装 docker打包镜像Dockerfile构建镜像编写Dockerfile脚本构建镜像前的准备执行Dockerfile脚本 构建镜像镜像导入配置nginx.conf文件Docker操作查询index.html的路径修改web1下ProjectConfig-72e0c4f7dd.json配置文件修改nginx配置文件nginx.confDockerfile构…

GIS空间数据格式简介

Gis数据存储零、前言一、基础概念二、矢量数据1、定义2、基础3、WBT/WKB4、坐标系5、Geometry6、要素 / 要素集7、存储格式8、图层三、栅格数据1、定义2、基础3、存储格式零、前言 1、首先该篇文档主要是针对刚入坑的朋友&#xff0c;如果你对gis的存储结构谙熟于心&#xff0…

【python】计算机视觉~舌象图片中舌体倾斜判别(四)

返回至系列文章导航博客 1 简介 在智能舌诊时&#xff0c;需要判断舌头的胖瘦&#xff0c;这需要舌头在图片中处于近似垂直的位置才方便判断&#xff0c;不能过于倾斜。那么如何让计算机智能地知道舌体是否倾斜呢&#xff1f;这是这篇文章讨论的重点&#xff01; 首先也是最重…

一种轻量的“虚拟机”——Windows 沙盒模式

Windows 沙盒模式Windows沙盒的好处操作步骤Windows沙盒的好处 相比虚拟机和第三方的沙盒软件&#xff0c;Windows Sandbox启用后仅占用100MB硬盘空间&#xff0c;还能与物理机安全地共享部分内存空间。简单来说就是易用、免费、不卡机&#xff01; 由于要保证沙盒内的数据不…

表面弛豫、重构以及覆盖效应

目录 1表面弛豫 2表面能的计算 3对称和非对称板块模型 4 表面重构 5表面上的吸附质 6表面覆盖效应 1表面弛豫 在上述例子中,为了建立五层原子的板块模型,将原子放置在了板块模型中。原子的位置是理想的,是 材料中的体相原子位置。在体相的 金属中,任何两个相邻原子的间…

burpsuite 插件编写基础

文章目录一、什么是扩展 / 插件&#xff1f;二、burp 的扩展三、开发步骤一、什么是扩展 / 插件&#xff1f; 关于这个话题&#xff0c;知乎有一个回答题不错&#xff0c;主要也是引用了wikipedia 插件/扩展&#xff0c;是向现有的计算机程序添加特定功能的软件组件。 主程序…

3.2.2队列的顺序存储实现

队列是一种操作受限的顺序表&#xff08;只能在队头删除&#xff0c;在队尾插入&#xff09;。 所以依旧使用静态数组的形式去存储队列。 &#xff08;1&#xff09;创建&#xff08;初始化&#xff09; 现定于&#xff08;顺序队列&#xff09;的结构体 初始化队列时&#x…

CentOS7---Nginx安装并配置虚拟主机

1、源码安装nginx&#xff0c;并提供服务脚本 源码包的获取&#xff1a;官网下载 实验环境&#xff1a;和企业环境类似&#xff0c;关闭防火墙&#xff0c;禁用selinux&#xff0c;使用静态IP地址 安装步骤&#xff1a; 步骤一&#xff1a;安装Nginx所需的pcre库 [rootnode01 ~…

openvpn (用户名密码模式)

目录 一、介绍 1、定义 2、原理 3、加密和身份验证 二、在centos 7.5上搭建openvpn 1、安装openvpn 和easy-rsa&#xff08;该包用来制作ca证书&#xff09; 2、配置/etc/openvpn/ 目录 3、创建服务端证书及key 4、创建客户端证书 5、把服务器端必要文件放到etc/openvpn/ 目录下…

LeetCode 785. Is Graph Bipartite【DFS,二分图】中等

本文属于「征服LeetCode」系列文章之一&#xff0c;这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁&#xff0c;本系列将至少持续到刷完所有无锁题之日为止&#xff1b;由于LeetCode还在不断地创建新题&#xff0c;本系列的终止日期可能是永远。在这一系列刷题文章…

[牛客101] 二叉树的层序遍历

这道题会考察很多知识点,这里专门进行详解 文章目录题目描述二. 题目分析完整代码题目描述 二. 题目分析 首先,我们会想到存储方式为二维数组.数组每一行存储一层的结点.怎么确定每一行要存储几个结点呢.由于节点与节点之间存在父子关系,所以,在存储某一层的结点时,就可以通过…

使用Process Explorer和Dependency Walker排查C++程序中dll库动态加载失败问题

目录 1、exe主程序启动时的库加载流程说明 2、加载dll库两种方式 2.1、dll库的隐式引用 2.2、dll库的动态加载 3、本案例中的问题描述 4、使用Process Explorer和Dependency Walker分析dll库加载失败的原因 4.1、Process Explorer工具介绍 4.2、使用Process Explorer工…

Mysql日志系统-mysql serve层

Mysql日志系统-服务层的日志 mysql给我们提供了很多有用的日志有mysql服务层提供的&#xff0c;有innodb引擎层提供的&#xff0c;下表是mysql服务层给我们提供的&#xff1a; 日志类型写入日志的信息二进制日志记录了对MySQL数据库执行更改的所有操作慢查询日志记录所有执行…