Bagaimana untuk menyelesaikan masalah bahawa perkhidmatan Linux tidak boleh menggunakan pembolehubah persekitaran sistem

王林
Lepaskan: 2023-05-16 19:28:26
ke hadapan
1168 orang telah melayarinya

    Perkhidmatan Linux tidak boleh menggunakan pembolehubah persekitaran sistem

    Penerangan terperinci

    Apabila melakukan pemasangan berbilang contoh mysql sebelum ini, pemasangan berjaya , linux Ia juga boleh dimulakan dengan jayanya; walau bagaimanapun, memindahkan support-files/mysqld_multi.server ke direktori /etc/init.d/ dan menetapkan permulaan (chkconfig xxx on) gagal; >

    Saya menemui masalah dan mula menyelesaikannya Saya mendapati bahawa perkhidmatan xxx mula tidak boleh memulakan beberapa contoh mysql, tetapi permulaan mysqld_multi boleh digunakan kemudian selepas pelbagai percubaan, saya mendapati bahawa pembolehubah persekitaran mysql ditetapkan oleh /. etc/profile boleh dicetak dalam persekitaran biasa, tetapi Pembolehubah persekitaran mysql tidak boleh dicetak dalam perkhidmatan yang dibuat oleh shell; Anda boleh melihat bahawa pembolehubah persekitaran mysql ditetapkan

    export PATH=/usr/local/mysql/bin:$PATH
    Salin selepas log masuk

    Kemudian kami mentakrifkan skrip sistem V

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

    Berikan kebenaran dan tetapkannya kepada perkhidmatan

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

    Laksanakan perkhidmatan: Sebagai Hasilnya, anda boleh melihat bahawa tiada pembolehubah persekitaran mysql

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

    Penyelesaian

    1 Tambah eksport PATH=/usr/local/mysql/bin:$PATH

    < 🎜 kepada perkhidmatan yang baru ditetapkan dalam /etc/init.d/xxx >Nota:

    Apabila meletakkan skrip shell ke dalam perkhidmatan, anda perlu menetapkan PATH dan persekitaran lain.

    Penggunaan fail pembolehubah persekitaran dalam fail perkhidmatan

    Persediaan ujianprogram ujian c++

    Kandungan LogTest.cpp adalah seperti berikut:

    [root@localhost init.d]# service mysqlmul start
    /sbin:/usr/sbin:/bin:/usr/bin
    Salin selepas log masuk
    < . etc/sysconfig / direktori.

    // 测试代码
    
    #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;
    }
    Salin selepas log masuk

    Proses ujian

    1) Susun atur cara ujian c++ dan salin atur cara ujian ke direktori /usr/local/MyTest/.

    cp LogTest /usr/local/MyTest/

    2) Konfigurasi log

    Untuk konfigurasi berkaitan log, sila lihat https://blog. csdn.net/www_dong/article/details/128053496.

    3) Pemuatan fail perkhidmatan

    [Unit]
    Description=LogTest
    After=network.target 
    
    [Service]
    Type=simple
    EnvironmentFile=-/etc/sysconfig/LogTest
    ExecStart=/usr/local/MyTest/LogTest -s ${TESTSIZE}
    ExecStop=/bin/kill -s QUIT $MAINPID
    StandardOutput=syslog
    StandardError=syslog
    SyslogIdentifier=LogTest
    
    [Install]
    WantedBy=multi-user.target
    Salin selepas log masuk
    4) Lihat log program LogTest
    # 环境变量文件,可根据需要新增
    TESTSIZE=10
    Salin selepas log masuk
    Nota: Log mencetak 10, menunjukkan bahawa keseluruhan proses berjaya

    Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan masalah bahawa perkhidmatan Linux tidak boleh menggunakan pembolehubah persekitaran sistem. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

    Label berkaitan:
    sumber:yisu.com
    Kenyataan Laman Web ini
    Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
    Tutorial Popular
    Lagi>
    Muat turun terkini
    Lagi>
    kesan web
    Kod sumber laman web
    Bahan laman web
    Templat hujung hadapan