nohup - Run Commands in the Background - Linux CLI
Isi kandungan:
- Bagaimana Menggunakan Perintah nohup
- Menjalankan Perintah di Latar Belakang
- Mengalihkan Output ke Fail
- Alternatif
- Skrin
- Tmux
- Disown
- Kesimpulannya
Perintah
nohup
melaksanakan program lain yang dinyatakan sebagai hujahnya dan mengabaikan semua isyarat
SIGHUP
(hangup).
SIGHUP
adalah isyarat yang dihantar ke proses apabila terminal kawalannya ditutup.
Biasanya, apabila anda menjalankan program melalui SSH, jika sambungan anda jatuh atau anda log keluar, sesi itu ditamatkan, dan semua proses yang dilaksanakan dari terminal akan berhenti. Di sinilah perintah
nohup
berguna. Ia mengabaikan semua isyarat hangup, dan prosesnya akan terus dijalankan.
Bagaimana Menggunakan Perintah nohup
Sintaks untuk arahan
nohup
adalah seperti berikut:
nohup COMMAND
Perintah ini tidak menerima sebarang pilihan lain kecuali standard
--help
dan
--version
.
Mari lihat contoh berikut:
nohup mycommand
nohup: ignoring input and appending output to 'nohup.out'
nohup
menjalankan arahan
mycommand
di latar depan dan mengalihkan output arahan ke fail
nohup.out
. Fail ini dibuat dalam direktori kerja semasa. Sekiranya pengguna menjalankan perintah itu tidak mempunyai keizinan menulis ke direktori yang berfungsi, fail itu dibuat dalam direktori rumah pengguna.
Jika anda log keluar atau menutup terminal, proses itu tidak ditamatkan.
Menjalankan Perintah di Latar Belakang
Menggunakan
nohup
di latar depan tidak begitu berguna kerana anda tidak akan dapat berinteraksi dengan shell sehingga perintah selesai.
Untuk menjalankan arahan di latar belakang, masukkan
&
simbol di hujung arahan:
nohup mycommand &
Output termasuk ID pekerjaan shell (dikelilingi dengan tanda kurung) dan ID proses:
25177
Anda boleh menggunakan ID kerja untuk membawa arahan ke dalam latar depan menggunakan perintah
fg
.
Jika atas sebab tertentu anda ingin menamatkan proses, gunakan perintah
kill
diikuti dengan ID proses:
Mengalihkan Output ke Fail
Secara lalai,
nohup
mengalihkan output arahan ke fail
nohup.out
. Sekiranya anda ingin mengalihkan output ke fail lain, gunakan pengalihan shell standard.
Sebagai contoh, untuk mengalihkan keluaran standard dan ralat piawai ke
mycommand.out
anda akan gunakan:
nohup mycommand > mycommand.out 2>&1 &
Untuk mengalihkan keluaran standard dan kesilapan standard kepada fail berbeza:
nohup mycommand > mycommand.out 2> mycommand.err &
Alternatif
Terdapat beberapa program alternatif yang boleh anda gunakan untuk mengelakkan arahan yang akan ditamatkan apabila anda menutup terminal atau terputus.
Skrin
Skrin atau Skrin GNU adalah program multiplexer terminal yang membolehkan anda memulakan sesi skrin dan membuka beberapa tingkap (terminal maya) dalam sesi itu. Proses yang berjalan di Skrin akan terus berjalan apabila tetingkap mereka tidak kelihatan walaupun anda terputus.
Tmux
Tmux adalah alternatif moden untuk skrin GNU. Dengan Tmux, anda juga boleh membuat sesi dan buka beberapa tetingkap dalam sesi itu. Sesi Tmux adalah berterusan, yang bermaksud bahawa program yang berjalan di Tmux akan terus berjalan walaupun anda menutup terminal.
Disown
disown
adalah shell shell yang membuang kerja shell dari kawalan kerja shell. Tidak seperti
nohup
, anda boleh menggunakan
disown
pada proses berjalan juga.
Kesimpulannya
nohup
membolehkan anda menghalang arahan daripada ditamatkan apabila anda log keluar atau keluar dari terminal.
Perintah linux asas
Mengetahui cara menggunakan baris arahan boleh menjadi sangat berguna. Dalam artikel ini, kami akan meneruskan beberapa perintah Linux yang paling biasa yang digunakan setiap hari oleh pentadbir sistem Linux.
Perintah Chmod dalam linux (kebenaran fail)
Dalam akses Linux ke fail diuruskan melalui kebenaran fail, atribut dan pemilikan. Tutorial ini merangkumi cara menggunakan perintah chmod untuk menukar kebenaran akses fail dan direktori.
Perintah Chgrp dalam linux (kumpulan perubahan)
Di Linux, setiap fail dikaitkan dengan pemilik dan kumpulan dan mempunyai keizinan yang menentukan pengguna mana yang boleh membaca, menulis, atau melaksanakan fail tersebut. Perintah chgrpc mengubah pemilikan kumpulan fail yang diberikan.







