nohup vs Layar

39

Di masa lalu, saya dulu nohupmenjalankan pekerjaan latar belakang yang besar, tetapi saya perhatikan bahwa banyak orang menggunakan screendalam konteks ini. Apakah screenmemberikan semacam keuntungan fungsional yang tidak saya sadari, atau hanya masalah preferensi?

HalosGhost
sumber

Jawaban:

25

Keduanya memiliki kelebihan dan kekurangan masing-masing:

nohup:

  1. nohup baik untuk digunakan untuk menjalankan proses di latar belakang ketika proses tidak membutuhkan input pengguna, seperti server web atau proses server lain seperti itu.
  2. nohup memang membuat log di direktori eksekusi proses. Nama file log adalah nohup.out.
  3. Ini menghindari proses terbunuh karena kesalahan Ctrl+ Catau kombinasi tombol serupa. Hanya pengamanan.
  4. Biasanya diinstal secara default dengan pengaturan dasar. Tidak perlu menginstal secara terpisah seperti layar.
  5. Fungsionalitasnya sangat spesifik untuk menjalankan pekerjaan di latar belakang dan membuang output. Memori rendah intensif.

layar:

  1. Harus menginstal secara terpisah. Anda tidak dapat pergi ke pusat data atau masuk ke kotak apa pun dan layar yang diharapkan ada.
  2. Bagus untuk mengelola beberapa terminal pada mata pelajaran terpisah dan memberi mereka nama.
  3. Ini lebih dari manajer terminal dan bukan perintah untuk menjalankan proses untuk waktu yang tak terbatas seperti nohup.
  4. Lebih cocok jika proses membutuhkan input pengguna. Suka memasang skrip, ya / tidak ada konfirmasi.
  5. Dengan banyak fitur, muncul ingatannya. Tetapi setuju, beberapa fitur yang sangat bagus.

@rahmu, aku tidak akan pernah menebak pid jika ingin membunuhnya. Pastikan sebelum membunuh seseorang / sesuatu;).

Cara terbaik dalam kedua kasus untuk layar dan nohup adalah: ps -eaf | grep "nohup" | grep "your proc name/keyword".

Gunakan layar dan periksa apa yang sedang berjalan di atasnya.

Untuk menyimpulkan, mereka adalah dua hal yang berbeda yang dibuat dengan agenda yang berbeda, sehingga perbandingan itu sulit.

mrtipale
sumber
20

Layar memiliki banyak fitur. Itu tidak hanya "daemonize" suatu proses, itu lebih dari manajer jendela untuk terminal.

Ini dapat digunakan jika proses membutuhkan input di beberapa titik, Anda dapat pergi dan memeriksa output proses, sambungkan kembali ke terminalnya, ...

Jadi tidak, ini bukan hanya masalah preferensi, mereka bukan hal yang sama sekali.

Tikar
sumber
4
Anda dapat memeriksa hasilnya nohup [...] > fileName.log 2>&1juga. Plus itu berarti output tidak hilang.
Sardathrion
1
Saya suka itu deskripsi layar: "manajer jendela untuk terminal"!
rickumali
7

screen memungkinkan Anda:

  1. kembali ke layar yang sedang berjalan, kirim sinyal, lihat seberapa cepat, lihat apakah ada pesan kesalahan dll.
  2. proses nama dengan judul yang bermakna. jika Anda ingin mematikan satu proses, Anda tidak perlu melakukan pekerjaan menebak tentang id prosesnya.
avi
sumber
-2
  1. kemajuan proses dapat diperiksa juga oleh nohupdebug bidang basis data.
  2. ps ax | grep nohup akan menunjukkan kepada Anda id dari proses dan Anda dapat membunuhnya.
  3. nohuplebih cepat. Alasan sederhananya adalah itu tergantung pada koneksi internet antara PC Anda dan server. Setiap kali internet berjalan lambat, prosesnya juga berjalan lambat.
Nikolay
sumber
2
Saya tidak mengerti poin 3. Bisakah Anda menguraikan?
mattdm
1
poin 2 tidak benar.
jiggunjer
# 2 akan menunjukkan proses untuk membunuh hanya jika hanya ada satu proses nohup yang berjalan. Lain, itu akan menunjukkan beberapa. Dalam kedua kasus tersebut, poin 2 tidak sepenuhnya salah.
Anil_M