Все они являются представлениями того символа, который используют некоторое программное обеспечение или некоторые люди. Я перечислил наиболее распространенные. Если Вы говорите с человеком, используйте то, что они поймут. (Очевидно моя попытка быть уверенным, что Вы поняли бы по крайней мере один из них, имела неприятные последствия.), Если Вы говорите с программным обеспечением, консультируйтесь с документацией для знания то, что это понимает.
В ударе, escape-последовательностях \e
, \033
и \x1b
работайте аргументом printf
, в $'…'
, в подсказках, и в привязках клавиш. В привязках клавиш существует более общий синтаксис \C-[
который работает, потому что символ 27 - то, что Вы получаете от ввода Ctrl + [(что синтаксис является имитацией привязок клавиш Emacs). \033
работы во всех оболочках как аргумент printf
; другие контексты и нотации зависимы от оболочки.
Экран не распознает ни одной из этих escape-последовательностей, но распознает ^
как префикс управления, таким образом, ^[
символ средств 27.
CPU
Процесс может снизить свой приоритет CPU (но не уменьшить его, man 2 setpriority
). Кроме того, он может усыпить себя в течение определенного времени. Но он не может решить, как экономить время ЦП другим процессам.
Ситуацию с потоками см. в комментарии psusi.
память
Новый процесс получает начальный объем ОЗУ (однако не знаю, является ли это значением ядра по умолчанию или заданным в данных заголовка двоичного файла). Если требуется больше оперативной памяти, процесс запрашивает у ядра дополнительную информацию (см. man 2 mmap
).
Как и во время ЦП, процесс не может решить, какой процесс получит больше памяти, если освободит часть.
Выход из процесса
Если процесс завершает работу (либо по собственному решению, либо в результате прекращения), то ядро автоматически освобождает свои ресурсы. Процесс может освободить «все» его ОЗУ перед выходом, но нет причин для этого. Вместо этого используются вызовы _ exit
или exit _ group
.
Попробуйте этот парень =):
sed -n 'line_num p' | bash
или
"$(sed -n 'line_num p')"
-121--41183- Поскольку $ ДИСПЛЕЯ
правильно наборы и файл ~/.Xauthority
не создан, это может означать, что, хотя X11 пересылка принимается во внимание, xauth
не выполняется. Одной из причин может быть то, что его нет в пути (у меня была эта проблема в Mac OS X, но это было бы странно в Linux). Можно выполнить работу самостоятельно, создав файл ~/.ssh/rc
. Например, у меня есть следующее:
if [ -n "$DISPLAY" ]; then
echo "DISPLAY: $DISPLAY" >&2
if read proto cookie; then
if [ `echo $DISPLAY | cut -c1-10` = 'localhost:' ]; then
echo add unix:`echo $DISPLAY | cut -c11-` $proto $cookie
else
echo add $DISPLAY $proto $cookie
fi | $HOME/.ssh/xauth.wrapper -q -
fi
fi
, где ~/.ssh/xauth.wrapper
является оболочкой для xauth
, которая реализует блокировку файла ~/.Xauthority
. Но вы можете использовать только xauth
или полный путь к xauth
на всякий случай... Это во многом похоже на то, что описано на справочной странице sshd (8) (см. раздел «SSHRC»).
Будьте осторожны, чтобы не ошибиться.