我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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

这篇“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

    解决办法

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

    注意:

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

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

    测试准备

    c++测试程序

    LogTest.cpp内容如下:

    // 测试代码#include <stdio.h>#include <iostream>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无法使用系统环境变量问题如何解决”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网行业资讯频道。

    免责声明:

    ① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

    ② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档

    猜你喜欢

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

    这篇“Linux service无法使用系统环境变量问题如何解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Linux s
    2023-07-05

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

    目录linux service无法使用系统环境变量详细描述问题探索解决办法service文件中环境变量文件的使用测试准备测试流程总结Linux service无法使用系统环境变量 详细描述 之前在做一个mysql多实例安装时,安装成功,li
    2023-04-07

    Linuxservice无法使用系统环境变量的问题及解决

    这篇文章主要介绍了Linuxservice无法使用系统环境变量的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-14

    Linux用户环境变量失效如何解决

    当Linux用户环境变量失效时,可以尝试以下解决方法:1. 检查环境变量的定义:使用`echo $PATH`命令检查PATH环境变量是否包含正确的路径。如果变量没有正确设置,可以使用`export`命令重新设置环境变量。2. 检查环境变量的
    2023-09-18

    如何解决win7系统收藏夹无法使用的问题

    小边最近在浏览合作伙伴信息时,发现了一个问题:如果无法使用win7收藏夹,应该怎么办呢?。许多用户对于如何操作win7操作系统中的问题感到困惑。下面的小边将教你如何添加win7收藏夹。所以让我们一起学习吧!如何解决win7系统收藏夹无法使用
    2023-07-24

    Linux系统中无法访问mysql如何解决

    Linux系统中无法访问mysql如何解决,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1、问题及异常ThreadPoolAsynchronousRunner - com.mc
    2023-06-12

    如何解决Linux系统中Starting pptpd无法运行的问题

    本篇内容介绍了“如何解决Linux系统中Starting pptpd无法运行的问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!安装pptp
    2023-06-13

    如何解决win8无法进入系统的问题

    这篇文章主要介绍了如何解决win8无法进入系统的问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。原因一、外接设备导致解决方法:一般来说,遇到这种问题,可能是外接设备导致,我
    2023-06-28

    Win10系统10122无法激活问题如何解决

    Win10 预览版10122刚发布就有不少编程客栈的网友马上就对自己的Win10进行升级,但是却发现Win10预览版10122无法激活。真是急坏了。那么要怎么来解决这个问题呢?下面电脑高手跟大家分下下如何解决。方法如下:1、以管理员身份打开
    2023-06-15

    如何解决Spring对静态变量无法注入的问题

    这篇文章主要讲解了“如何解决Spring对静态变量无法注入的问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何解决Spring对静态变量无法注入的问题”吧!Spring对静态变量无法注入
    2023-06-20

    如何解决Ubuntu系统虚拟机摄像头无法使用问题

    本篇内容主要讲解“如何解决Ubuntu系统虚拟机摄像头无法使用问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何解决Ubuntu系统虚拟机摄像头无法使用问题”吧!前段时间使用的是Ubuntu
    2023-06-13

    如何解决win8系统无法正常更新问题

    小编给大家分享一下如何解决win8系统无法正常更新问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1.首先,咱们进入到win8电脑的传统桌面界面,然后按下键盘左
    2023-06-27

    Win10系统下无线网卡无法使用问题的解决方法

    Win10系统刚推出不久,便有无数的用户心急火燎地登上体验的大船,去尝鲜Win10的特性,但也要承担Win10尚不稳定的风险。编程有用户就在升级Win10后发现无线网卡用http://www.cppcns.com不了了,怎么解决这问题呢?以
    2023-06-09

    Windows7系统如何设置添加环境变量以供软件使用

    在我们的使用过程中,有时需要借助环境变量,不过有些用户的电脑上并没有设置环境变量php,这该怎么办呢?今天小编就教大家如何在自己的Win7电脑上设置(添加)环境变量吧。设置方法:1、首先鼠标右击桌面上的计算机图标,然后选择“属性
    2023-06-11

    如何解决@Table注解无法使用的问题

    这篇文章主要介绍了如何解决@Table注解无法使用的问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。@Table注解无法使用及报红在新建实体类时想直接序列化,遇到注解不起作
    2023-06-26

    编程热搜

    目录