it-swarm-id.com

Bagaimana cara mengirim pekerjaan ke latar belakang tanpa menghentikannya?

Ctrl + z mengirimkan pekerjaan saat ini ke latar belakang, tetapi menghentikannya.

Dan bagaimana cara melanjutkan pekerjaan yang berhenti?

10
Jader Dias

anda dapat menjalankan "bg" untuk menjalankannya di latar belakang.

"fg" memindahkannya ke latar depan

Perhatikan bahwa bg dan fg mengambil pekerjaan # alih-alih PID, jadi jika Anda menjalankan banyak pekerjaan sekaligus, gunakan perintah "pekerjaan" untuk mendapatkan nomor pekerjaan.

17
Matt Simmons

anda juga dapat memulai program sebagai pekerjaan latar belakang dengan "&" di baris perintah.

misalnya.

 myprogram & 

perhatikan bahwa output (baik stdout dan stderr) masih akan pergi ke tty saat ini, jadi umumnya ide yang baik untuk mengarahkan ulang ke/dev/null atau ke file log, seperti:

 myprogram> ~/program.log 2> & 1 & 

dalam salah satu contoh, ini adalah pekerjaan latar belakang seperti yang lainnya, jadi Anda masih dapat membawanya kembali ke latar depan dengan 'fg' (tetapi jika Anda telah mengarahkan keluaran Anda tidak akan melihat banyak).

8
cas

Dalam bash, memasukkan "bg" menempatkan pekerjaan ke latar belakang sampai memblokir yang membutuhkan input. Ini akan terus menghasilkan ke STDERR dan STDOUT yang mungkin tidak membantu. Anda dapat memasukkan "fg" untuk membawa pekerjaan kembali ke latar depan.

[[email protected] ~]$ cp ~/crap/* ~/crap2 
(Ctrl-Z)
[1]+  Stopped                cp ~/crap ~/crap2 

[[email protected] ~]$ cp ~/crap3/* ~/crap4
(Ctrl-Z)
[2]+  Stopped                cp ~/crap3/* ~/crap

[[email protected] ~]$ jobs
[1]+  Stopped                cp ~/crap ~/crap2 
[2]+  Stopped                cp ~/crap3/* ~/crap

[[email protected] ~]$ bg 1
[1]- cp ~/crap ~/crap2 &
[1]-  Exit 1                  cp ~/crap ~/crap2 

[[email protected] ~]$ fg 2
[[email protected] ~]$ 

Jadi, itu memulai pekerjaan salin panjang dan menangguhkannya, memulai pekerjaan salin panjang kedua dan menangguhkannya, lalu menempatkan pekerjaan salin pertama ke latar belakang dan membiarkannya berjalan, diikuti oleh pekerjaan salin pertama yang keluar. Lalu saya menempatkan pekerjaan salin terakhir ke latar depan dan membiarkannya selesai.

5
Evan Anderson

Nohup task.sh &

Berjalan di latar, output menuju ke Nohup.out di direktori saat ini. Terus berjalan saat Anda keluar.

4
Craig

Pilihan lain adalah utilitas layar yang sangat baik, yang dapat digunakan untuk menjalankan banyak proses pada saat yang sama, tanpa harus membuka terminal. Ini juga memungkinkan interaktivitas yang jauh lebih mudah daripada bg dan fg.

2
Hay