Насамперед, які потенційні негативні наслідки призупинення процесу з control-z?


11

Використовуючи bash, можна призупинити процес із control-z. Однак чи є будь-які загальні обставини чи вказівки, щоб остерігатися того, де процес не поводиться добре з призупиненням?

Мій конкретний сценарій полягав у створенні файлу смоли, який займав більше часу, ніж очікувалося. Я хотів призупинити його, щоб відкласти його на другий план, але вирішив не робити. Моє запитання, звичайно, не стосується лише смоли. Швидше, я сподіваюся, що я зрозумію функцію паузингу в баші трохи краще, а також те, що змусить процес погано реагувати на призупинення.

Відповіді:


3

Завдання на зберігання (pvmove, veritas vx-what), які покладаються на атомні копії. Це не добре, якщо вони застрягають поза їх контролем. Це залежить від того, чи завдання просто вимикає якийсь API і чи робить решту з простору ядра, тоді це безпечно. Якщо це відбувається в тій * процедурі * у вашій оболонці, тоді дійсно переходьте з екрана і тримайте руки.

Однозначно рекомендую вам уникати зупинки їх на задньому плані. Команди, які використовують буфери типу dd, здаються краще, за винятком стрічкових дисків, згаданих вище.

(Я колись виграв додаткову перезавантаження, менше сну і багато параної, коли це трапилося зі мною, коли вияснювали безлад інших людей. Очевидно: не намагайтеся брати ярлики, якщо ви виправляєте ярлики інших людей ...)


6

Якщо ваш процес записує дані, просто пам’ятайте, що проблеми з тимчасовим встановленням пристроїв та буферів без випадкового доступу можуть бути проблематичними. Я бачив, що стрічкові накопичувачі мають проблеми з цим часом.


Сеанси мережевого / брандмауера можуть затримати час та не перезапустити, оскільки TCP-SYN не обурений.
джиппі

Стек TCP продовжує надсилати ACK, що вікно заповнене, правда?
Магеллан

Зберігати живі пакети не є частиною TCP та протоколом IP, в кращому випадку це частина програми. Таким чином, брандмауер або віддалений клієнт або сервер можуть затримати час очікування пакету та відключення сокета / з'єднання.
джиппі

Не розмовляючи з ключниками, це, очевидно, рівень застосування. Я говорю про ACK для розсувного вікна TCP на транспортному рівні.
Магеллан

2

І мирський сценарій: робити Ctrl-Z, потім забути про це і вийти з системи, і програти процес! =)


0

Насправді не конкретна відповідь на питання, але, як альтернатива, ви можете спробувати запустити паралельні завдання, використовуючи screen. Таким чином, ви можете використовувати оболонку одночасно з іншою програмою.


Так, екран - це завжди хороший шлях. Однак я не впевнений, як відповісти на ваше ім’я.
Веслі

@toiletfreak Яким чином екран є альтернативою призупиненню? Екран виконує завдання у фоновому режимі? Але це продовжується, якщо зняти екран ...
Бернхард
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.