Bash'da, bir süreci control-z ile duraklatmanın potansiyel olumsuz sonuçları nelerdir?


11

Bash kullanarak, bir işlem ile duraklatılabilir control-z. Bununla birlikte, bir sürecin duraklatılma konusunda iyi davranmayacağı durumlara dikkat etmek için genel koşullar veya yönergeler var mı?

Benim özel senaryom beklenenden daha uzun süren bir tar dosyası oluşturmak oldu. Arka plana koymak için duraklatmak istedim, ama etmemeye karar verdim. Sorum elbette katranla ilgili değil. Aksine, bash'daki duraklatma özelliğini biraz daha iyi anlamanın yanı sıra, bir sürecin duraklatılmaya kötü bir şekilde tepki vermesini ne yapacağımı umuyorum.

Yanıtlar:


3

Atomik kopyalara dayanan depolama görevleri (pvmove, veritas vx-whatever). Kontrolleri dışında sıkışıp kalmaları iyi değil. Görevin sadece bazı API'leri tetikleyip tetiklemediğine ve gerisini çekirdek alanından yapıp yapmayacağına bağlıdır, o zaman güvenlidir. O oluyor ise o senin kabuğunda * süreç *, daha sonra gerçekten ekranla gidip kapalı dokunma.

Kesinlikle onları arka plana durdurmaktan kaçınmanızı öneririz. Dd gibi arabellekleri kullanan komutlar, yukarıda belirtilen teyp sürücüleri haricinde daha iyi görünüyor.

(Bir zamanlar başkalarının karmaşasını temizlerken başıma geldiğinde ek bir yeniden başlatma, daha az uyku ve çok fazla paranoya kazandım.


6

İşleminiz veri yazıyorsa, rastgele olmayan erişim aygıtları ve arabelleklerle ilgili zamanlama sorunlarının sorunlu olabileceğini unutmayın. Teyp sürücülerinin bu konuda zaman zaman sorunları olduğunu gördüm.


TCP / SYN yeniden gönderilmediğinden ağ / güvenlik duvarı oturumları zaman aşımına uğrayabilir ve yeniden başlatılamayabilir.
jippie

TCP yığını, pencerenin dolu olduğu ACK'ları göndermeye devam eder, değil mi?
Magellan

Canlı tutma paketleri TCP'nin veya IP protokolünün bir parçası değildir, en iyi ihtimalle uygulamanın bir parçasıdır. Bu nedenle, bir güvenlik duvarı veya uzak istemci veya sunucu bir paket beklerken zaman aşımına uğrayabilir ve soketi / bağlantıyı kesebilir.
jippie

Kalıcılarla konuşmadığınızda, bunlar açıkça Uygulama seviyesidir. Aktarım düzeyinde TCP sürgülü penceresinin ACK'larından bahsediyorum.
Magellan

2

Ve sıradan senaryo: Ctrl-Z yapmak, daha sonra unutmak ve oturumu kapatmak ve süreci kaybetmek! =)


0

Soruna gerçekten özel bir cevap değil, ama alternatif olarak, eşzamanlı işleri kullanarak çalıştırabilirsiniz screen. Böylece kabuğu başka bir programla eşzamanlı olarak kullanabilirsiniz.


Evet, ekran her zaman iyi bir yoldur. Ancak adınıza nasıl yanıt vereceğinizden emin değilim.
Wesley

@toiletfreak Ekran duraklamaya nasıl bir alternatiftir? Ekran arka planda bir iş çalıştırıyor değil mi? Ancak ekranı ayırırsanız devam eder ...
Bernhard
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.