GNU/Linux >> Belajar Linux >  >> Linux

Perintah shell asinkron

Atau, setelah Anda menjalankan program, Anda dapat menekan Ctrl-Z yang menghentikan program Anda dan kemudian ketik

bg

yang menempatkan program Anda yang terakhir dihentikan di latar belakang. (Berguna jika Anda memulai sesuatu tanpa '&' dan masih menginginkannya di backgroung tanpa memulai ulang)


nohup cmd

tidak hangup saat Anda menutup terminal. output secara default pergi ke nohup.out

Anda dapat menggabungkan ini dengan latar belakang,

nohup cmd &

dan singkirkan hasilnya,

nohup cmd > /dev/null 2>&1 &

Anda juga bisa disown sebuah perintah. ketik cmd , Ctrl-Z , bg , disown


Anda cukup menjalankan skrip di latar belakang:

$ myscript &

Perhatikan bahwa ini berbeda dengan meletakkan & di dalam skrip Anda, yang mungkin tidak akan melakukan apa yang Anda inginkan.


Semua orang lupa disown . Jadi, inilah ringkasannya:

  • & menempatkan pekerjaan di latar belakang.

    • Memblokir upaya membaca masukan, dan
    • Membuat shell tidak menunggu penyelesaiannya.
  • disown menghapus proses dari kontrol tugas shell, tetapi tetap membuatnya terhubung ke terminal.

    • Salah satu hasilnya adalah shell tidak akan mengirimkannya SIGHUP (Jika shell menerima SIGHUP , itu juga mengirimkan SIGHUP ke proses, yang biasanya menyebabkan proses berhenti).
    • Dan tentu saja, ini hanya dapat diterapkan pada tugas latar belakang (karena Anda tidak dapat memasukkannya saat tugas latar depan sedang berjalan).
  • nohup memutus proses dari terminal, mengalihkan keluarannya ke nohup.out dan melindunginya dari SIGHUP .

    • Proses tidak akan menerima SIGHUP yang dikirim .
    • Ini benar-benar independen dari kontrol pekerjaan dan pada prinsipnya dapat digunakan juga untuk pekerjaan latar depan (walaupun itu tidak terlalu berguna).
    • Biasanya digunakan dengan & (sebagai pekerjaan latar belakang).

Linux
  1. Bagaimana Cara Menjalankan Script Shell Di Latar Belakang?

  2. Menjalankan Perintah Linux di Latar Belakang dan Latar Depan

  3. 15 Perintah Bawaan Bash Shell yang Berguna (Dengan Contoh)

  1. Jalankan Perintah Shell dari Program yang berjalan di WINE

  2. Perintah Shell ditulis dalam bahasa apa?

  3. Menjalankan sqlplus di latar belakang di Unix

  1. Sebutkan Semua Perintah yang Diketahui Shell?

  2. Bagaimana cara menjalankan skrip di latar belakang (linux openwrt)?

  3. nohup beberapa perintah berurutan