Saya punya beberapa perintah yang harus saya jalankan. Perintah-perintah ini perlu terus dijalankan bahkan setelah saya keluar dari antarmuka saya. Ketika saya memiliki akses ke GUI Linux, saya menjalankan sesuatu seperti:
cd /home/testuser/Scripts*
xterm -hold -T "Background_Script1" -e "service1-start.sh" &
sleep 10
xterm -hold -T "Background_Script2" -e "service2-start.sh" &
Bantuan apa pun akan sangat dihargai.
linux
command-line
putty
process
gnu-screen
pengguna3331952
sumber
sumber
set -m;
membuatnya sehingga skrip saya terus berjalan setelah saya keluar di CentOS dan RHEL.Jawaban:
Mencoba
nohup memastikan bahwa suatu proses tidak berakhir ketika terminal ditutup. Simbol & mendorong proses ke latar belakang.
Semoga ini bermanfaat.
sumber
nohup
, pada dasarnya "tidak ada hangup" - dengan nohup,HUP
sinyal hangup ( ) diabaikan.Jika Anda ingin membaca output di kemudian hari, Anda dapat menggunakan
screen
:Ini memberi Anda terminal terpisah yang dapat Anda sambungkan nanti (
screen -r
) untuk membaca stdout / stderr output.sumber
screen -r
) Anda juga akan memiliki semua output yang dihasilkan program Anda dan Anda akan "terjawab". Plus, layar dapat melakukan banyak hal menakjubkan, seperti layar terbelah, dll! :)Pilihan lain jika
nohup
perintah tidak tersedia adalah dengan menggunakan perintah disown .Pertama, Anda dapat melihat tugas latar belakang Anda dengan menjalankan
jobs
di terminal. Anda bisa mendapatkan nomor pekerjaan dari sana.Sekarang jalankan saja
disown %[job number]
dan proses akan terlepas dari terminal saat ini dan tetap hidup ketika Anda logout.Catatan: Pastikan Anda mengajukan pertanyaan yang benar. Jika Anda menjalankan layanan aktual saat mengisyaratkan pada sampel Anda, Anda mungkin ingin melihat cara membuat daemon di OS pilihan Anda. Ini untuk memastikan bahwa proses masih berjalan setelah reboot dan membuatnya lebih konsisten dengan layanan lain.
Semoga ini membantu.
sumber
Karena
screen
telah disebutkan: ada multiplexer terminal lain di luar sana. Sayatmux
sangat suka , lihat misalnya pertanyaan pengguna super ini , tmux vs layar untuk perbandingan.sumber
Anda juga dapat mencoba:
setsid
Setsid juga berfungsi untuk program latar belakang dan memungkinkannya untuk tetap berjalan setelah sesi terminal / ssh terputus.Gunakan seperti ini:
Manpage: http://man7.org/linux/man-pages/man2/setsid.2.html
sumber