Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $YECBGYFECGEAFWHA as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2

Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $BBWFDDBHHYHDXXAB as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2
Linux service无法使用系统环境变量问题如何解决_创想鸟

Linux service无法使用系统环境变量问题如何解决

Linux service无法使用系统环境变量

详细描述

之前在做一个mysql多实例安装时,安装成功,linux也能成功启动;但是将support-files/mysqld_multi.server移动到/etc/init.d/目录下并设置开机启动(chkconfig xxx on)失败;

问题探索

发现了问题,开始解决,发现service xxx start 无法启动mysql的多实例,但是mysqld_multi start就可以使用;然后经过各种尝试,发现在普通环境下可以打印出/etc/profile设置的mysql环境变量,但是在shell做成的service中无法打印该mysql环境变量;

我的/etc/frofile文件:

export PATH=/usr/local/mysql/bin:$PATH

执行:可以看到是有设置的mysql环境变量的

[root@localhost init.d]# echo $PATH/usr/local/mysql/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

然后我们定义一个system V的脚本

[root@localhost init.d]# vi /etc/init.d/mysqlmul#!/bin/bash#chkconfig: - 75 15#description: test

赋予权限并设置为service

[root@localhost init.d]#chmod +x /etc/init.d/mysqlmul[root@localhost init.d]#chkconfig --add mysqlmul

执行service:结果可以看到是没有mysql环境变量的

[root@localhost init.d]# service mysqlmul start/sbin:/usr/sbin:/bin:/usr/bin

解决办法

1、在/etc/init.d/xxx刚才设置的service中添加export PATH=/usr/local/mysql/bin:$PATH

注意:

当把一个shell脚本放入到service中时,需要设定好PATH等环境。

service文件中环境变量文件的使用

测试准备

c++测试程序

LogTest.cpp内容如下:

无涯·问知 无涯·问知

无涯·问知,是一款基于星环大模型底座,结合个人知识库、企业知识库、法律法规、财经等多种知识源的企业级垂直领域问答产品

无涯·问知 40 查看详情 无涯·问知

// 测试代码#include #include using namespace std;int main(int argc, const char* argv[]){    int size = 0;    // 解析传入参数(argc和argv),代码略    // ...    cout << size <<endl;    while(1);return 0;}

service文件

LogTest.service文件

[Unit]Description=LogTestAfter=network.target [Service]Type=simpleEnvironmentFile=-/etc/sysconfig/LogTestExecStart=/usr/local/MyTest/LogTest -s ${TESTSIZE}ExecStop=/bin/kill -s QUIT $MAINPIDStandardOutput=syslogStandardError=syslogSyslogIdentifier=LogTest[Install]WantedBy=multi-user.target

环境变量文件

环境变量文件LogTest放在/etc/sysconfig/目录下。

# 环境变量文件,可根据需要新增TESTSIZE=10

测试流程

1)编译c++测试程序,并将测试程序拷贝至/usr/local/MyTest/目录下。

cp LogTest /usr/local/MyTest/

2)日志配置

关于日志相关配置,可查看https://blog.csdn.net/www_dong/article/details/128053496。

3)service文件加载

# 文件拷贝cp LogTest.service /usr/lib/systemd/system# 文件加载systemctl daemon-reload# 程序启动systemctl start LogTest# 查看进程是否启动成功ps -aux | grep LogTest

4)查看LogTest程序日志

# 进入日志所在目录cd /var/log# 查看LogTest.logcat LogTest.log

说明: 日志打印出10,说明整个流程成功

以上就是Linux service无法使用系统环境变量问题如何解决的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/245073.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
如何解决Spryker项目中的文件管理难题,使用spryker-feature/file-manager轻松搞定
上一篇 2025年11月4日 03:15:23
vivo手机怎么样能省电
下一篇 2025年11月4日 03:15:28

相关推荐

  • Linux用户和权限管理的安全最佳实践

    最小权限原则要求用户和进程仅拥有必要权限,避免赋予root权限,通过sudo提权并限制命令,服务账户禁止登录且权限最小化;定期审查sudoers文件,删除无用账户,禁用root直接登录,强密码策略由pam_pwquality实现,usermod -s /sbin/nologin限制服务账户登录;文件…

    2026年9月23日
    500
  • Asianux 7.3安装Oracle 11.2.0.4单实例体验

    在asianux 7.3环境中安装#%#$#%@%@%$#%$#%#%#$%@_a189c++633d9995e11bf8607170ec9a4b8 11.2.0.4单实例的具体步骤和注意事项如下: 环境:Asianux 7.3 需求:安装Oracle 11.2.0.4 单实例 背景:系统使用默认的…

    2026年9月23日
    300
  • Kafka 精妙的高性能设计(上篇)

    Kafka 精妙的高性能设计(上篇)Kafka 精妙的高性能设计(上篇)Kafka 精妙的高性能设计(上篇)Kafka 精妙的高性能设计(上篇)

    kafka 的高性能设计可以说是无微不至,从生产者(producer)、到代理(broker)、再到消费者(consumer),kafka 在每一个细节上都精心优化,最终实现了极致的性能。 本文将首先带领大家建立高性能设计的思维模式,然后深入探讨 Kafka 的高性能设计方案,最终帮助大家系统地掌握…

    2026年9月23日 用户投稿
    100
  • mysql安装后怎么可视化 mysql图形界面工具安装使用

    mysql安装后怎么可视化 mysql图形界面工具安装使用mysql安装后怎么可视化 mysql图形界面工具安装使用mysql安装后怎么可视化 mysql图形界面工具安装使用mysql安装后怎么可视化 mysql图形界面工具安装使用

    要更方便地操作 mysql 数据库,推荐使用图形界面工具。常见的有:1. mysql workbench(官方工具,功能全面)2. navicat for mysql(商业软件,界面简洁,功能丰富)3. dbeaver(开源免费,跨平台支持)4. phpmyadmin(基于 web,适合 php 环…

    2026年9月23日 用户投稿
    300
  • Linux用户认证与授权机制解析

    Linux通过认证与授权机制保障系统安全,先验证用户身份,再控制资源访问。1. 用户认证包括密码、PAM、SSH密钥等方式,由login或sshd调用PAM模块完成;2. 用户与组管理基于UID和GID,通过/etc/passwd、/etc/group、/etc/shadow文件实现,使用usera…

    2026年9月23日
    000
  • 如何解决Linux软件包冲突 yum和apt依赖问题处理方案

    如何解决Linux软件包冲突 yum和apt依赖问题处理方案如何解决Linux软件包冲突 yum和apt依赖问题处理方案如何解决Linux软件包冲突 yum和apt依赖问题处理方案如何解决Linux软件包冲突 yum和apt依赖问题处理方案

    处理linux软件包冲突的核心方法是利用包管理器自带修复机制并手动干预。1. 清理缓存与元数据,重新更新以解决临时错误;2. 使用跳过损坏包、强制重装等方式尝试自动修复;3. 禁用或调整第三方仓库优先级以避免冲突源;4. 手动安装特定版本依赖或卸载冲突包;5. 对于apt系统,使用–fi…

    2026年9月23日 用户投稿
    500
  • 关于java打包成jar在linux上运行的一些问题「建议收藏」

    大家好,又见面了,我是你们的朋友全栈君。 关于将Java项目导出为可运行的jar文件,请参考下图: 如果在Linux上运行时,前两个选项导出的jar包报错,提示找不到依赖包,那么建议使用第三个选项。这个选项会生成一个jar包和一个文件夹,文件夹内包含jar包的所有依赖。将这两个文件一起上传到Linu…

    2026年9月23日
    000
  • VSCode如何配置生物信息开发环境 VSCode基因组数据分析工作流

    vscode在生物信息学中的核心配置是通过安装python、r、remote-ssh/containers/wsl等扩展,结合conda管理环境,实现多语言支持与远程开发;2. 处理大规模基因组数据时应避免直接打开大文件,而是通过集成终端调用命令行工具(如samtools、bcftools)在远程服…

    2026年9月23日
    000
  • go 语言版本控制器

    管理不同版本的go语言环境是一项繁琐的任务,尤其是当需要为每个go特性单独安装go环境时。为了简化这一过程,我们需要一个版本管理工具来统一管理go环境。以下是关于go版本控制器g的详细介绍。 一、Go版本控制器g简介 g是一个适用于Linux、macOS和Windows的命令行工具,旨在提供一个方便…

    2026年9月23日
    000
  • Windows 下安装和配置 WSL(Windows 10 子系统)

    前言与介绍 作为开发者,经常需要使用 Linux 环境,甚至信息学奥林匹克竞赛(NOI)也采用 Linux 作为编译环境。然而,Linux 系统上缺乏一些必备工具,如 Photoshop 和 Internet Download Manager。因此,Windows 系统同样不可或缺,频繁在两个系统间…

    2026年9月23日
    200
  • CentOS服务器安装宝塔(图文详解)

    CentOS服务器安装宝塔(图文详解)CentOS服务器安装宝塔(图文详解)CentOS服务器安装宝塔(图文详解)CentOS服务器安装宝塔(图文详解)

    一、概述 宝塔是一款安全且高效的服务器管理面板。 快速创建和管理web项目 提供方便的网站管理功能,例如域名绑定,一键部署SSL证书,调整网站配置等。 >>查看 快速查看服务器资源使用情况 监测CPU、内存、磁盘IO、网络IO数据,并可设置记录保存天数,随时查看特定日期的数据。 >…

    2026年9月23日 用户投稿
    100
  • VSCode配置Java编程环境(手把手教学,环境搭建不求人)

    安装jdk并配置环境变量,推荐使用java 11或java 17等lts版本,通过命令行执行java -version和javac -version验证安装成功;2. 下载并安装vscode本体,按照默认安装流程完成;3. 在vscode中安装“extension pack for java”扩展包…

    2026年9月23日
    100
  • mysql安装完成如何事件 mysql定时任务设置教程

    mysql安装完成如何事件 mysql定时任务设置教程mysql安装完成如何事件 mysql定时任务设置教程mysql安装完成如何事件 mysql定时任务设置教程mysql安装完成如何事件 mysql定时任务设置教程

    要使用mysql的事件调度器设置定时任务,首先需开启事件调度器,其次创建定时事件,再查看管理事件,最后注意权限与时间格式等问题。具体步骤如下:1. 开启事件调度器:通过命令或配置文件启用;2. 创建事件:使用create event定义执行频率与sql操作;3. 管理事件:可查看、修改或删除已有事件…

    2026年9月23日 用户投稿
    100
  • Java Web项目在无Maven/Eclipse环境下生成WAR包的实践指南

    本文详细介绍了如何在没有Maven或Eclipse等集成开发环境或构建工具的情况下,为Java Web项目手动或通过Apache Ant工具生成WAR文件。教程涵盖了WAR文件的基本结构、使用Ant进行编译和打包的具体步骤,并提供了Ant构建脚本示例,旨在帮助开发者理解并实践WAR包的独立构建过程。…

    2026年9月23日
    100
  • 优麒麟 25.10 版本正式发布

    优麒麟 25.10 正式版现已上线,此版本将提供长达9个月的支持周期,基于最新的 linux 6.17 内核打造,在基础库、子系统及核心组件等方面实现了全面升级,显著提升了系统的稳定性与兼容性,同时推出了焕然一新的软件商店。 新增特性 1. 搭载 Linux 6.17 内核 优麒麟 25.10 集成…

    2026年9月23日
    100
  • linux如何优雅的关机

    优雅关机的三大法宝:拔电源、shutdown、poweroff 及其对硬件和数据的影响 在讨论关机方法之前,先了解一下机械硬盘的内部结构。 那固态硬盘SSD呢? FTL工作示意图。FTL表对SSD至关重要,如果在FTL写回Flash之前突然断电,内存数据丢失,FTL表也将丢失。因此,高端SSD和服务…

    2026年9月23日
    100
  • 四种获取fasta序列长度的方法

    在处理fasta序列时,我们常常需要知道每条序列的长度。今天小编将与大家分享四种获取fasta序列长度的方法。 一、使用awk 以下是使用awk获取fasta序列长度的代码: awk ‘/^>/{if (l!=””) print l; print; l=0; next}{l+=length($…

    2026年9月23日
    200
  • VSCode如何实现代码版本对比 VSCode Git差异对比的高效使用方法

    vscode通过scm视图直接对比工作区与head的差异;2. 点击已暂存文件可查看暂存区与head的差异;3. 通过命令面板、scm历史记录或右键菜单可对比任意版本或文件;4. 差异视图支持并排和内联模式,并提供跳转导航;5. 时间线视图可追溯文件级提交历史并对比各版本;6. gitlens扩展增…

    2026年9月23日
    600
  • Flink项目实践 | Flink 单机安装部署

    Flink项目实践 | Flink 单机安装部署Flink项目实践 | Flink 单机安装部署Flink项目实践 | Flink 单机安装部署Flink项目实践 | Flink 单机安装部署

    apache flink 是一个用于对无界和有界数据流进行状态计算的框架和分布式处理引擎。flink 设计旨在所有常见集群环境中运行,并以内存速度和任意规模进行计算。 为了深入了解 Flink,首先需要搭建其运行环境。 Flink 可以在所有类似 UNIX 的环境中运行,包括 Linux,Mac O…

    2026年9月23日 用户投稿
    200
  • VSCode配置MacOS C环境 详细图解VSCode搭建C++开发

    在mac++os上用vscode配置c/c++环境的关键是安装xcode command line tools以获取clang编译器和lldb调试器,然后安装vscode的c/c++扩展,接着创建项目文件夹和源文件,通过配置tasks.json定义编译任务,确保使用clang编译当前文件并生成可执行…

    2026年9月23日
    100

发表回复

登录后才能评论
关注微信