Может быть...
ipcs | sed -n '
s/[^ ]* *//
/^Messages/q
/^Semaphores/cshift
/ *bob .*/!d;s///
/ /!s/./ipcrm $1 &/p
'| sh -s -- shm \-s
Удаляет строки, которые не содержат последовательности bob в качестве третьего космоса разделенного поля или , которые не имеют во втором поле Сообщения/семафоры.
Вставляет последовательность ipcrm $1
для оставшихся строк. Он прекращает ввод при совпадении Messages и заменяет Semaphores match w/ shift
. Вывод
sed
интерпретируется процессом оболочки с двумя позициями shm/-s . Таким образом, когда sed
говорит shift
, что оболочка прекращает выполнение команды ipcrm shm
и начинает выполнение -s
в месте shms.
Я думаю, что если вы хотите чистого решения оболочки это близко:
set -f; IFS='
'; for l in $(ipcs);
do IFS=\ ;set -- $l
case "$1:$2:${3#bob}" in
(-*:Sh*) a=shm;;
(-*:Se*) a=-s;;
(-*:Me*) break 2;;
(*:*:) ipcrm "$a" "$2";;
esac; done
-121--84725-
Обычно при нажатии кнопки клавиатура генерирует один код клавиши. ОС принимает клавишные коды, применяет некоторое отображение ключей и пытается обрабатывать комбинации клавиш независимо от базового аппаратного обеспечения.
Механизм SysRq немного отличается: Клавиатура захватывает комбинацию и отправляет в ОС специальный клавишной код, как если бы была нажата одиночная кнопка. Linux kerenel ловит специальный код и обрабатывает его внутри, не пересылая входные данные в приложения более высокого уровня, такие как сервер X. Это подразумевает два последствия:
Комбинация клавиш действительно зависит от клавиатуры. Клавиатура должна фиксировать все нажатия на клавишу самостоятельно, и только клавиатура «знает», где находится фактическая клавиша SysRq и какая комбинация запускает отправку специального клавишного кода. Итак:
Ctrl + Alt + SysRq + b
или Ctrl + Alt + Fn + SysRq + b
и т.д. (предупреждение, система перезагрузится после успешного завершения). На клавиатурах с клавишей Fn
обычно необходимо нажать ее для перехода к фактической клавише SysRq
, поэтому, вероятно, в комбинации будет использоваться клавиша Fn
. Вы можете знать, когда получите правильную комбинацию. Запустите xev
с терминала, фокусируйте окно xev
и нажмите некоторые кнопки на клавиатуре, чтобы увидеть события, появляющиеся на терминале. При получении правильной комбинации НЕ следует получать событие, поскольку оно улавливается ядром и не доставляется на сервер X.
Также обратитесь к документации: https://www.kernel.org/doc/Documentation/sysrq.txt
-121--125736-
Если вы хотите знать размер устройства (в байтах), вы можете использовать blockdev:
# blockdev --getsize64 /dev/sde
2000398934016
В этом примере /dev/sde
является 2TB диском или, по крайней мере, это то, что видит ядро. Естественно, fdisk
, parted
и другие должны показывать одну и ту же информацию.
Этот размер не изменяется.Потеря мощностей из-за плохих секторов не является вариантом, это не приведет к прекращению проблем; перераспределение секторов использует внутренний резерв, и привод, как правило, полностью мертв до того, как он израсходован. Вы должны заменить, прежде чем все станет так плохо.
Некоторые люди любят оставлять небольшое свободное пространство (несколько мег) в конце диска, поскольку сменный диск может не иметь точно такого же размера, как ваш старый, и может затруднить замену членов, если новое устройство кажется слишком маленьким.
Нет, это невозможно. Сервер DHCP выдает IPS клиентам, запрашивающим один.
Если у вас был доступ к серверу DHCP, вы можете исправить IP на конфигурации сервера DHCP, привязывая его к MAC-адресу вашей карты.