Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk menutup terminal di Golang tanpa menjejaskan program berjalan
Golang ialah bahasa pengaturcaraan yang sangat popular, terutamanya dalam pengaturcaraan rangkaian dan pengaturcaraan serentak. Walau bagaimanapun, apabila menggunakan Golang untuk membangunkan program, kami mungkin menghadapi masalah menutup program selepas menutup terminal. Artikel ini akan memperkenalkan cara menutup terminal di Golang tanpa menjejaskan perjalanan program.
Dalam sistem Linux atau Unix, program Golang boleh dijalankan di latar belakang, supaya atur cara akan terus berjalan selepas ditutup terminal itu. Kaedah pelaksanaan adalah seperti berikut:
Gunakan arahan nohup untuk menjalankan program di latar belakang:
$ nohup ./myprogram &
Di mana, myprogram ialah program yang anda ingin jalankan di latar belakang.
open-falcon-supervisor ialah alat pengurusan proses Golang sumber terbuka yang boleh memantau, mengurus dan memulakan semula proses. Menggunakan open-falcon-supervisor boleh mencapai kesan bahawa program tidak akan berhenti berjalan selepas menutup terminal. Penggunaan khusus adalah seperti berikut:
Masukkan arahan berikut dalam terminal untuk memasang open-falcon-supervisor:
$ curl -Ls http://7xjci3.com1.z0.glb.clouddn.com/tools/supervisor/install.sh | sh
Buat fail supervisord.conf di bawah direktori /etc dan tambah kandungan berikut di dalamnya:
[program:myprogram] command=/path/to/myprogram #程序路径 autostart=true autorestart=true startretries=10 redirect_stderr=true stdout_logfile=/path/to/myprogram.log #日志路径
Di mana, program saya ialah anda Nama program yang akan dijalankan, /path/to/myprogram ialah laluan program dan /path/to/myprogram.log ialah laluan fail log program.
Masukkan arahan berikut dalam terminal untuk memulakan penyelia:
$ supervisord
Dengan cara ini, program diuruskan oleh open- falcon-supervisor akan Berjalan di latar belakang, dan program akan terus berjalan selepas menutup terminal.
systemd ialah pengurus sistem dan perkhidmatan di bawah Linux yang boleh memantau, mengurus dan memulakan semula proses. Menggunakan program pengurusan systemd boleh mencapai kesan bahawa program tidak akan berhenti berjalan selepas menutup terminal. Penggunaan khusus adalah seperti berikut:
Buat fail myprogram.service di bawah direktori /etc/systemd/system dan tambah kandungan berikut di dalamnya:
[Unit] Description=My Program Service After=network.target [Service] Type=simple ExecStart=/path/to/myprogram #程序路径 Restart=on-failure [Install] WantedBy=multi-user.target
Antaranya, myprogram ialah nama program yang anda ingin jalankan, dan /path/to/myprogram ialah laluan program.
Masukkan arahan berikut dalam terminal untuk memulakan perkhidmatan:
$ systemctl start myprogram
Dengan cara ini, program diuruskan oleh systemd akan berjalan di latar belakang Program akan terus berjalan selepas menutup terminal.
Arahan skrin ialah alat pengurusan sesi di bawah Linux Anda boleh mencipta berbilang sesi dan bertukar antara sesi, dan anda juga boleh menjalankan program sesi. Dan letakkan program untuk dijalankan di latar belakang. Gunakan arahan skrin untuk menghalang program daripada berhenti selepas menutup terminal. Penggunaan khusus adalah seperti berikut:
Masukkan arahan berikut dalam terminal untuk memasang skrin:
$ sudo apt-get install screen
Masukkan arahan berikut dalam terminal untuk mencipta sesi skrin baharu:
$ screen -S myprogram
Di mana, myprogram ialah nama sesi.
Jalankan program dalam sesi skrin:
$ /path/to/myprogram
Dalam sesi skrin, gunakan kekunci pintasan Ctrl + a + d untuk meletakkan program ke latar belakang Program akan terus berjalan selepas menutup terminal.
Masukkan arahan berikut dalam terminal untuk memulihkan sesi skrin yang dibuat sebelum ini:
$ screen -r myprogram
Dengan cara ini, gunakan arahan skrin untuk menguruskan program Ia akan berjalan di latar belakang dan program akan terus berjalan selepas menutup terminal.
Ringkasan
Di atas adalah beberapa cara untuk menutup terminal tanpa menjejaskan perjalanan program apabila menggunakan Golang dalam talian. Anda boleh memilih kaedah yang sesuai untuk menguruskan program berdasarkan keperluan dan situasi sebenar anda. Saya harap artikel ini dapat membantu semua orang.
Atas ialah kandungan terperinci Bagaimana untuk menutup terminal di Golang tanpa menjejaskan program berjalan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!