Rumah >Operasi dan penyelenggaraan >operasi dan penyelenggaraan linux >Bagaimana untuk menyelesaikan masalah bahawa perkhidmatan Linux tidak boleh menggunakan pembolehubah persekitaran sistem
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 ditetapkanexport PATH=/usr/local/mysql/bin:$PATH
[root@localhost init.d]# echo $PATH /usr/local/mysql/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/binBerikan kebenaran dan tetapkannya kepada perkhidmatan
[root@localhost init.d]# vi /etc/init.d/mysqlmul #!/bin/bash #chkconfig: - 75 15 #description: testLaksanakan 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 mysqlmulPenyelesaian1 Tambah eksport PATH=/usr/local/mysql/bin:$PATHNota:
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
// 测试代码 #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; }Proses ujian1) 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.target4) Lihat log program LogTest
# 环境变量文件,可根据需要新增 TESTSIZE=10Nota: 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!