Если вы просто добавляете разделитель новой строки после совпадающей строки, вы можете P
ритировать только определенную часть пространства шаблонов, не изменяя его слишком сильно. Обычно это может работать даже тогда, когда пространство шаблона содержит байты, не являющиеся частями символа.
sed -n 's|HTTP/1.0” 200|&\n|;P' <in >out
примечание: для переносимости вы захотите использовать буквальный символ новой строки вместо n
, использованного выше, хотя он работает так, как написано в GNU sed
В общем, по по умолчанию единственное отличие состоит в том, что он будет получать сигнал SIGTTIN (или SIGTTOU ), если он попытается прочитать (или записать )tty во время работы. на заднем фоне.
Другие различия в приоритетах или более высоких переключениях контекста зависят от вашей оболочки (или screen
), если она добровольно делает что-либо в этом роде, например, изменяет «хороший» номер процесса или, возможно, привязывает его к одному конкретному ЦП и если этот процессор часто прерывается. Обычно оболочки не делают ничего подобного, если только об этом не попросят.
Более высокая вероятность получения тайм-аутов TCP может быть связана с тем, останавливается ли ваш процесс одним из вышеуказанных сигналов (из-за попытки доступа к tty ). иметь возможность получать и, следовательно, отвечать на сетевой трафик.
Если подумать, процессы-демоны — это самые «фоновые» процессы из возможных, и они, конечно, не процессы второго -класса.
Я не могу быть точным в отношении конкретной операции отсоединения screen
, но ее документация говорит, что отсоединенные процессы продолжают работать и что screen
отсоединяет себя от tty процесса,поэтому процесс продолжается в основном без разницы, как в обычном режиме переднего плана, так и в фоновом режиме. Однако вам было бы трудно давать ему команды, поскольку ваш интерактивный терминал отделен от виртуального терминала процесса. Это может быть нехорошо для вашего процесса, если в какой-то момент он ожидает ввода со своего терминала.