W this answer do innego question, powiedziano mi, żeDlaczego nie mogę używać kontroli zadań w skrypcie bash?
w skryptach nie mają kontroli pracy (i próbuje go włączyć jest głupie)
Jest to pierwszy raz, kiedy "Słyszałem o tym i przeglądałem sekcję bash.info o sterowaniu zadaniami (rozdział 7), nie znajdując żadnej wzmianki o żadnym z tych twierdzeń. [Aktualizacja: Strona człowiek jest trochę lepiej, wymieniając „typowe” użytkowanie, ustawienia domyślne, a zacisk I/O, ale nie prawdziwy powód dlaczego kontrola pracy jest szczególnie niewskazane dla skryptów.]
Więc dlaczego czy praca polegająca na kontroli pracy opartej na skryptach, i co sprawia, że jest to zła praktyka ("głupi")?
Edit: Skrypt w pytaniu rozpoczyna proces tła, rozpoczyna się drugi proces w tle, a następnie próbuje umieścić pierwszy proces z powrotem na planie tak, że ma normalne terminala I/O (jakby uruchomić bezpośrednio) który następnie może zostać przekierowany na adres spoza skryptu. Nie można tego zrobić w procesie w tle.
Jak zauważyłem przez accepted answer do drugiego pytania, istnieją inne skrypty, które rozwiązują ten konkretny problem bez próby kontroli pracy. W porządku. A skandaliczny skrypt używa zakodowanej pracy numer — Oczywiście źle. Ale próbuję zrozumieć, czy kontrola pracy jest zasadniczo skazana na zagładę. nadal wydaje się jak może to mógł praca ...
Dodaj prosty przykład pokazujący, w jaki sposób można znaleźć to, czego nie można łatwo wykonać bez kontroli pracy. – dwc